ssl.h revision 1.25
1/*	$OpenBSD: ssl.h,v 1.25 2022/02/12 18:22:04 eric Exp $	*/
2/*
3 * Copyright (c) 2013 Gilles Chehade <gilles@poolp.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18struct pki {
19	char			 pki_name[HOST_NAME_MAX+1];
20
21	char			*pki_cert_file;
22	char			*pki_cert;
23	off_t			 pki_cert_len;
24
25	char			*pki_key_file;
26	char			*pki_key;
27	off_t			 pki_key_len;
28
29	int			 pki_dhe;
30};
31
32struct ca {
33	char			 ca_name[HOST_NAME_MAX+1];
34
35	char			*ca_cert_file;
36	char			*ca_cert;
37	off_t			 ca_cert_len;
38};
39
40
41/* ssl.c */
42void ssl_init(void);
43void ssl_error(const char *);
44int ssl_load_certificate(struct pki *, const char *);
45int ssl_load_keyfile(struct pki *, const char *, const char *);
46int ssl_load_cafile(struct ca *, const char *);
47