Lines Matching refs:SSL
26 # include <openssl/ssl.h>
340 /* Check if an SSL structure is using DTLS */
475 int min_tls; /* minimum SSL/TLS protocol version */
476 int max_tls; /* maximum SSL/TLS protocol version */
485 /* Used to hold SSL/TLS functions */
490 int (*ssl_new) (SSL *s);
491 int (*ssl_clear) (SSL *s);
492 void (*ssl_free) (SSL *s);
493 int (*ssl_accept) (SSL *s);
494 int (*ssl_connect) (SSL *s);
495 int (*ssl_read) (SSL *s, void *buf, size_t len, size_t *readbytes);
496 int (*ssl_peek) (SSL *s, void *buf, size_t len, size_t *readbytes);
497 int (*ssl_write) (SSL *s, const void *buf, size_t len, size_t *written);
498 int (*ssl_shutdown) (SSL *s);
499 int (*ssl_renegotiate) (SSL *s);
500 int (*ssl_renegotiate_check) (SSL *s, int);
501 int (*ssl_read_bytes) (SSL *s, int type, int *recvd_type,
504 int (*ssl_write_bytes) (SSL *s, int type, const void *buf_, size_t len,
506 int (*ssl_dispatch_alert) (SSL *s);
507 long (*ssl_ctrl) (SSL *s, int cmd, long larg, void *parg);
512 size_t (*ssl_pending) (const SSL *s);
518 long (*ssl_callback_ctrl) (SSL *s, int cb_id, void (*fp) (void));
532 * SSLversion INTEGER, -- SSL version number
551 * Look in ssl/ssl_asn1.c for more details
555 int ssl_version; /* what ssl version session info is being kept
652 int (*TLS_ext_srp_username_callback) (SSL *, int *, void *);
654 int (*SRP_verify_param_callback) (SSL *, void *);
656 char *(*SRP_give_srp_client_pwd_callback) (SSL *, void *);
880 int (*new_session_cb) (struct ssl_st *ssl, SSL_SESSION *sess);
882 SSL_SESSION *(*get_session_cb) (struct ssl_st *ssl,
886 TSAN_QUALIFIER int sess_connect; /* SSL new conn - started */
887 TSAN_QUALIFIER int sess_connect_renegotiate; /* SSL reneg - requested */
888 TSAN_QUALIFIER int sess_connect_good; /* SSL new conne/reneg - finished */
889 TSAN_QUALIFIER int sess_accept; /* SSL new accept - started */
890 TSAN_QUALIFIER int sess_accept_renegotiate; /* SSL reneg - requested */
891 TSAN_QUALIFIER int sess_accept_good; /* SSL accept/reneg - finished */
925 int (*client_cert_cb) (SSL *ssl, X509 **x509, EVP_PKEY **pkey);
928 int (*app_gen_cookie_cb) (SSL *ssl, unsigned char *cookie,
932 int (*app_verify_cookie_cb) (SSL *ssl, const unsigned char *cookie,
936 int (*gen_stateless_cookie_cb) (SSL *ssl, unsigned char *cookie,
940 int (*verify_stateless_cookie_cb) (SSL *ssl, const unsigned char *cookie,
951 /* Default values used when no per-SSL value is defined follow */
953 /* used if SSL's info_callback is NULL */
954 void (*info_callback) (const SSL *ssl, int type, int val);
966 * Default values to use in SSL structures follow (these are copied by
981 const void *buf, size_t len, SSL *ssl, void *arg);
987 /* called 'verify_callback' in the SSL */
1038 int (*servername_cb) (SSL *, int *, void *);
1045 int (*ticket_key_cb) (SSL *ssl,
1049 int (*ticket_key_evp_cb) (SSL *ssl,
1056 int (*status_cb) (SSL *ssl, void *arg);
1063 /* EC extension values inherited by SSL structure */
1087 int (*alpn_select_cb) (SSL *s,
1143 int (*not_resumable_session_cb) (SSL *ssl, int is_forward_secure);
1166 size_t (*record_padding_cb)(SSL *s, int type, size_t len, void *arg);
1185 /* Callback for SSL async handling */
1236 int (*handshake_func) (SSL *);
1366 * SSL session: e.g. appropriate curve, signature algorithms etc.
1441 const void *buf, size_t len, SSL *ssl, void *arg);
1526 void (*info_callback) (const SSL *ssl, int type, int val);
1583 void (*debug_cb)(SSL *s, int client_server, int type,
1708 * Lazily populated by CT_get_peer_scts(SSL*)
1745 int (*not_resumable_session_cb) (SSL *ssl, int is_forward_secure);
1775 size_t (*record_padding_cb)(SSL *s, int type, size_t len, void *arg);
1792 /* Callback for SSL async handling */
2014 DH *(*dh_tmp_cb) (SSL *ssl, int is_export, int keysize);
2047 int (*cert_cb) (SSL *ssl, void *arg);
2058 int (*sec_cb) (const SSL *s, const SSL_CTX *ctx, int op, int bits, int nid,
2078 int (*enc) (SSL *, SSL3_RECORD *, size_t, int, SSL_MAC_BUF *, size_t);
2079 int (*mac) (SSL *, SSL3_RECORD *, unsigned char *, int);
2080 int (*setup_key_block) (SSL *);
2081 int (*generate_master_secret) (SSL *, unsigned char *, unsigned char *,
2083 int (*change_cipher_state) (SSL *, int);
2084 size_t (*final_finish_mac) (SSL *, const char *, size_t, unsigned char *);
2090 int (*export_keying_material) (SSL *, unsigned char *, size_t,
2097 int (*set_handshake_header) (SSL *s, WPACKET *pkt, int type);
2099 int (*close_construct_packet) (SSL *s, WPACKET *pkt, int htype);
2101 int (*do_write) (SSL *s);
2235 * Flags for SSL methods
2354 int (*p_ssl_init_wbio_buffer) (SSL *s);
2355 int (*p_ssl3_setup_buffers) (SSL *s);
2361 static ossl_inline int ssl_has_cert(const SSL *s, int idx)
2369 static ossl_inline void tls1_get_peer_groups(SSL *s, const uint16_t **pgroups,
2378 __owur int ssl_read_internal(SSL *s, void *buf, size_t num, size_t *readbytes);
2379 __owur int ssl_write_internal(SSL *s, const void *buf, size_t num, size_t *written);
2380 void ssl_clear_cipher_ctx(SSL *s);
2381 int ssl_clear_bad_session(SSL *s);
2386 __owur int ssl_generate_session_id(SSL *s, SSL_SESSION *ss);
2387 __owur int ssl_get_new_session(SSL *s, int session);
2388 __owur SSL_SESSION *lookup_sess_in_cache(SSL *s, const unsigned char *sess_id,
2390 __owur int ssl_get_prev_session(SSL *s, CLIENTHELLO_MSG *hello);
2402 __owur int ssl_cache_cipherlist(SSL *s, PACKET *cipher_suites, int sslv2format);
2403 __owur int bytes_to_cipher_list(SSL *s, PACKET *cipher_suites,
2407 void ssl_update_cache(SSL *s, int mode);
2418 __owur const SSL_CIPHER *ssl_get_cipher_by_char(SSL *ssl,
2421 __owur int ssl_cert_set0_chain(SSL *s, SSL_CTX *ctx, STACK_OF(X509) *chain);
2422 __owur int ssl_cert_set1_chain(SSL *s, SSL_CTX *ctx, STACK_OF(X509) *chain);
2423 __owur int ssl_cert_add0_chain_cert(SSL *s, SSL_CTX *ctx, X509 *x);
2424 __owur int ssl_cert_add1_chain_cert(SSL *s, SSL_CTX *ctx, X509 *x);
2427 void ssl_cert_set_cert_cb(CERT *c, int (*cb) (SSL *ssl, void *arg), void *arg);
2429 __owur int ssl_verify_cert_chain(SSL *s, STACK_OF(X509) *sk);
2430 __owur int ssl_build_cert_chain(SSL *s, SSL_CTX *ctx, int flags);
2435 __owur int ssl_security(const SSL *s, int op, int bits, int nid, void *other);
2438 int ssl_get_security_level_bits(const SSL *s, const SSL_CTX *ctx, int *levelp);
2445 int ssl_undefined_function(SSL *s);
2447 __owur int ssl_undefined_const_function(const SSL *s);
2448 __owur int ssl_get_server_cert_serverinfo(SSL *s,
2451 void ssl_set_masks(SSL *s);
2452 __owur STACK_OF(SSL_CIPHER) *ssl_get_ciphers_by_id(SSL *s);
2458 __owur int ssl_fill_hello_random(SSL *s, int server, unsigned char *field,
2460 __owur int ssl_generate_master_secret(SSL *s, unsigned char *pms, size_t pmslen,
2462 __owur EVP_PKEY *ssl_generate_pkey(SSL *s, EVP_PKEY *pm);
2463 __owur int ssl_gensecret(SSL *s, unsigned char *pms, size_t pmslen);
2464 __owur int ssl_derive(SSL *s, EVP_PKEY *privkey, EVP_PKEY *pubkey,
2466 __owur int ssl_decapsulate(SSL *s, EVP_PKEY *privkey,
2469 __owur int ssl_encapsulate(SSL *s, EVP_PKEY *pubkey,
2475 __owur unsigned int ssl_get_max_send_fragment(const SSL *ssl);
2476 __owur unsigned int ssl_get_split_send_fragment(const SSL *ssl);
2483 int ssl3_init_finished_mac(SSL *s);
2484 __owur int ssl3_setup_key_block(SSL *s);
2485 __owur int ssl3_change_cipher_state(SSL *s, int which);
2486 void ssl3_cleanup_key_block(SSL *s);
2487 __owur int ssl3_do_write(SSL *s, int type);
2488 int ssl3_send_alert(SSL *s, int level, int desc);
2489 __owur int ssl3_generate_master_secret(SSL *s, unsigned char *out,
2492 __owur int ssl3_get_req_cert_type(SSL *s, WPACKET *pkt);
2495 int ssl3_renegotiate(SSL *ssl);
2496 int ssl3_renegotiate_check(SSL *ssl, int initok);
2499 __owur int ssl3_dispatch_alert(SSL *s);
2500 __owur size_t ssl3_final_finish_mac(SSL *s, const char *sender, size_t slen,
2502 __owur int ssl3_finish_mac(SSL *s, const unsigned char *buf, size_t len);
2503 void ssl3_free_digest_list(SSL *s);
2504 __owur unsigned long ssl3_output_cert_chain(SSL *s, WPACKET *pkt,
2506 __owur const SSL_CIPHER *ssl3_choose_cipher(SSL *ssl,
2509 __owur int ssl3_digest_cached_records(SSL *s, int keep);
2510 __owur int ssl3_new(SSL *s);
2511 void ssl3_free(SSL *s);
2512 __owur int ssl3_read(SSL *s, void *buf, size_t len, size_t *readbytes);
2513 __owur int ssl3_peek(SSL *s, void *buf, size_t len, size_t *readbytes);
2514 __owur int ssl3_write(SSL *s, const void *buf, size_t len, size_t *written);
2515 __owur int ssl3_shutdown(SSL *s);
2516 int ssl3_clear(SSL *s);
2517 __owur long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg);
2519 __owur long ssl3_callback_ctrl(SSL *s, int cmd, void (*fp) (void));
2522 __owur int ssl3_do_change_cipher_spec(SSL *ssl);
2525 __owur int ssl3_set_handshake_header(SSL *s, WPACKET *pkt, int htype);
2526 __owur int tls_close_construct_packet(SSL *s, WPACKET *pkt, int htype);
2527 __owur int tls_setup_handshake(SSL *s);
2528 __owur int dtls1_set_handshake_header(SSL *s, WPACKET *pkt, int htype);
2529 __owur int dtls1_close_construct_packet(SSL *s, WPACKET *pkt, int htype);
2530 __owur int ssl3_handshake_write(SSL *s);
2532 __owur int ssl_allow_compression(SSL *s);
2534 __owur int ssl_version_supported(const SSL *s, int version,
2537 __owur int ssl_set_client_hello_version(SSL *s);
2538 __owur int ssl_check_version_downgrade(SSL *s);
2540 __owur int ssl_choose_server_version(SSL *s, CLIENTHELLO_MSG *hello,
2542 __owur int ssl_choose_client_version(SSL
2544 __owur int ssl_get_min_max_version(const SSL *s, int *min_version,
2548 __owur int dtls1_do_write(SSL *s, int type);
2549 void dtls1_set_message_header(SSL *s,
2554 int dtls1_write_app_data_bytes(SSL *s, int type, const void *buf_, size_t len,
2557 __owur int dtls1_read_failed(SSL *s, int code);
2558 __owur int dtls1_buffer_message(SSL *s, int ccs);
2559 __owur int dtls1_retransmit_message(SSL *s, unsigned short seq, int *found);
2561 int dtls1_retransmit_buffered_messages(SSL *s);
2562 void dtls1_clear_received_buffer(SSL *s);
2563 void dtls1_clear_sent_buffer(SSL *s);
2567 __owur struct timeval *dtls1_get_timeout(SSL *s, struct timeval *timeleft);
2568 __owur int dtls1_check_timeout_num(SSL *s);
2569 __owur int dtls1_handle_timeout(SSL *s);
2570 void dtls1_start_timer(SSL *s);
2571 void dtls1_stop_timer(SSL *s);
2572 __owur int dtls1_is_timer_expired(SSL *s);
2575 __owur size_t dtls1_min_mtu(SSL *s);
2577 __owur int dtls1_query_mtu(SSL *s);
2579 __owur int tls1_new(SSL *s);
2580 void tls1_free(SSL *s);
2581 int tls1_clear(SSL *s);
2583 __owur int dtls1_new(SSL *s);
2584 void dtls1_free(SSL *s);
2585 int dtls1_clear(SSL *s);
2586 long dtls1_ctrl(SSL *s, int cmd, long larg, void *parg);
2587 __owur int dtls1_shutdown(SSL *s);
2589 __owur int dtls1_dispatch_alert(SSL *s);
2591 __owur int ssl_init_wbio_buffer(SSL *s);
2592 int ssl_free_wbio_buffer(SSL *s);
2594 __owur int tls1_change_cipher_state(SSL *s, int which);
2595 __owur int tls1_setup_key_block(SSL *s);
2596 __owur size_t tls1_final_finish_mac(SSL *s, const char *str, size_t slen,
2598 __owur int tls1_generate_master_secret(SSL *s, unsigned char *out,
2601 __owur int tls13_setup_key_block(SSL *s);
2602 __owur size_t tls13_final_finish_mac(SSL *s, const char *str, size_t slen,
2604 __owur int tls13_change_cipher_state(SSL *s, int which);
2605 __owur int tls13_update_key(SSL *s, int send);
2606 __owur int tls13_hkdf_expand(SSL *s, const EVP_MD *md,
2611 __owur int tls13_derive_key(SSL *s, const EVP_MD *md,
2614 __owur int tls13_derive_iv(SSL *s, const EVP_MD *md,
2617 __owur int tls13_derive_finishedkey(SSL *s, const EVP_MD *md,
2620 int tls13_generate_secret(SSL *s, const EVP_MD *md,
2625 __owur int tls13_generate_handshake_secret(SSL *s,
2628 __owur int tls13_generate_master_secret(SSL *s, unsigned char *out,
2631 __owur int tls1_export_keying_material(SSL *s, unsigned char *out, size_t olen,
2635 __owur int tls13_export_keying_material(SSL *s, unsigned char *out, size_t olen,
2639 __owur int tls13_export_keying_material_early(SSL *s, unsigned char *out,
2648 __owur int ssl_check_srvr_ecc_cert_and_alg(X509 *x, SSL *s);
2655 __owur int tls1_check_group_id(SSL *s, uint16_t group_id, int check_own_curves);
2656 __owur uint16_t tls1_shared_group(SSL *s, int nmatch);
2661 __owur EVP_PKEY *ssl_generate_pkey_group(SSL *s, uint16_t id);
2662 __owur int tls_valid_group(SSL *s, uint16_t group_id, int minversion,
2664 __owur EVP_PKEY *ssl_generate_param_group(SSL *s, uint16_t id);
2665 void tls1_get_formatlist(SSL *s, const unsigned char **pformats,
2667 __owur int tls1_check_ec_tmp_key(SSL *s, unsigned long id);
2669 __owur int tls_group_allowed(SSL *s, uint16_t curve, int op);
2670 void tls1_get_supported_groups(SSL *s, const uint16_t **pgroups,
2673 __owur int tls1_set_server_sigalgs(SSL *s);
2675 __owur SSL_TICKET_STATUS tls_get_ticket_from_client(SSL *s, CLIENTHELLO_MSG *hello,
2677 __owur SSL_TICKET_STATUS tls_decrypt_ticket(SSL *s, const unsigned char *etick,
2682 __owur int tls_use_ticket(SSL *s);
2684 void ssl_set_sig_mask(uint32_t *pmask_a, SSL *s, int op);
2691 int tls1_check_chain(SSL *s, X509 *x, EVP_PKEY *pk, STACK_OF(X509) *chain,
2693 void tls1_set_cert_validity(SSL *s);
2696 __owur int ssl_validate_ct(SSL *s);
2699 __owur EVP_PKEY *ssl_get_auto_dh(SSL *s);
2701 __owur int ssl_security_cert(SSL *s, SSL_CTX *ctx, X509 *x, int vfy, int is_ee);
2702 __owur int ssl_security_cert_chain(SSL *s, STACK_OF(X509) *sk, X509 *ex,
2705 int tls_choose_sigalg(SSL *s, int fatalerrs);
2709 __owur long ssl_get_algorithm2(SSL *s);
2710 __owur int tls12_copy_sigalgs(SSL *s, WPACKET *pkt,
2713 __owur int tls1_save_sigalgs(SSL *s, PACKET *pkt, int cert);
2714 __owur int tls1_process_sigalgs(SSL *s);
2715 __owur int tls1_set_peer_legacy_sigalg(SSL *s, const EVP_PKEY *pkey);
2718 __owur size_t tls12_get_psigalgs(SSL *s, int sent, const uint16_t **psigs);
2719 __owur int tls_check_sigalg_curve(const SSL *s, int curve);
2720 __owur int tls12_check_peer_sigalg(SSL *s, uint16_t, EVP_PKEY *pkey);
2721 __owur int ssl_set_client_disabled(SSL *s);
2722 __owur int ssl_cipher_disabled(const SSL *s, const SSL_CIPHER *c, int op, int echde);
2724 __owur int ssl_handshake_hash(SSL *s, unsigned char *out, size_t outlen,
2727 __owur const EVP_MD *ssl_handshake_md(SSL *s);
2728 __owur const EVP_MD *ssl_prf_md(SSL *s);
2732 * with |ssl|, if logging is enabled. It returns one on success and zero on
2736 __owur int ssl_log_rsa_client_key_exchange(SSL *ssl,
2743 * ssl_log_secret logs |secret| to the SSL_CTX associated with |ssl|, if
2747 __owur int ssl_log_secret(SSL *ssl, const char *label,
2763 int ktls_check_supported_cipher(const SSL *s, const EVP_CIPHER *c,
2765 int ktls_configure_crypto(const SSL *s, const EVP_CIPHER *c, EVP_CIPHER_CTX *dd,
2784 __owur int srp_generate_server_master_secret(SSL *s);
2785 __owur int srp_generate_client_master_secret(SSL *s);
2786 __owur int srp_verify_server_param(SSL *s);
2790 __owur int send_certificate_request(SSL *s);
2800 __owur int custom_ext_parse(SSL *s, unsigned int context, unsigned int ext_type,
2803 __owur int custom_ext_add(SSL *s, int context, WPACKET *pkt, X509 *x,
2828 int tls_provider_set_tls_params(SSL *s, EVP_CIPHER_CTX *ctx,
2835 int tls_engine_load_ssl_client_cert(SSL *s, X509 **px509, EVP_PKEY **ppkey);
2845 int ssl_srp_ctx_free_intern(SSL *s);
2846 int ssl_srp_ctx_init_intern(SSL *s);
2848 int ssl_srp_calc_a_param_intern(SSL *s);
2849 int ssl_srp_server_param_with_username_intern(SSL *s, int *ad);