tlsv1_server.h
Go to the documentation of this file.00001
00016 #ifndef TLSV1_SERVER_H
00017 #define TLSV1_SERVER_H
00018
00019 #include "tlsv1_cred.h"
00020
00021 struct tlsv1_server;
00022
00023 int tlsv1_server_global_init(void);
00024 void tlsv1_server_global_deinit(void);
00025 struct tlsv1_server * tlsv1_server_init(struct tlsv1_credentials *cred);
00026 void tlsv1_server_deinit(struct tlsv1_server *conn);
00027 int tlsv1_server_established(struct tlsv1_server *conn);
00028 int tlsv1_server_prf(struct tlsv1_server *conn, const char *label,
00029 int server_random_first, u8 *out, size_t out_len);
00030 u8 * tlsv1_server_handshake(struct tlsv1_server *conn,
00031 const u8 *in_data, size_t in_len, size_t *out_len);
00032 int tlsv1_server_encrypt(struct tlsv1_server *conn,
00033 const u8 *in_data, size_t in_len,
00034 u8 *out_data, size_t out_len);
00035 int tlsv1_server_decrypt(struct tlsv1_server *conn,
00036 const u8 *in_data, size_t in_len,
00037 u8 *out_data, size_t out_len);
00038 int tlsv1_server_get_cipher(struct tlsv1_server *conn, char *buf,
00039 size_t buflen);
00040 int tlsv1_server_shutdown(struct tlsv1_server *conn);
00041 int tlsv1_server_resumed(struct tlsv1_server *conn);
00042 int tlsv1_server_get_keys(struct tlsv1_server *conn, struct tls_keys *keys);
00043 int tlsv1_server_get_keyblock_size(struct tlsv1_server *conn);
00044 int tlsv1_server_set_cipher_list(struct tlsv1_server *conn, u8 *ciphers);
00045 int tlsv1_server_set_verify(struct tlsv1_server *conn, int verify_peer);
00046
00047 typedef int (*tlsv1_server_session_ticket_cb)
00048 (void *ctx, const u8 *ticket, size_t len, const u8 *client_random,
00049 const u8 *server_random, u8 *master_secret);
00050
00051 void tlsv1_server_set_session_ticket_cb(struct tlsv1_server *conn,
00052 tlsv1_server_session_ticket_cb cb,
00053 void *ctx);
00054
00055 #endif
00056