xref: /freebsd/contrib/ntp/sntp/crypto.h (revision b2d48be1bc7df45ddd13b143a160d0acb5a383c5)
1 #ifndef CRYPTO_H
2 #define CRYPTO_H
3 
4 #include <string.h>
5 #include <stdio.h>
6 #include <stdlib.h>
7 
8 #include <ntp_fp.h>
9 #include <ntp.h>
10 #include <ntp_stdlib.h>
11 #include <ntp_md5.h>	/* provides OpenSSL digest API */
12 #include "utilities.h"
13 #include "sntp-opts.h"
14 
15 #define LEN_PKT_MAC	LEN_PKT_NOMAC + sizeof(u_int32)
16 
17 /* #include "sntp-opts.h" */
18 
19 struct key {
20 	struct key *next;
21 	int key_id;
22 	int key_len;
23 	char type[10];
24 	char key_seq[64];
25 };
26 
27 int auth_init(const char *keyfile, struct key **keys);
28 void get_key(int key_id, struct key **d_key);
29 int make_mac(char *pkt_data, int pkt_size, int mac_size, struct key *cmp_key, char *digest);
30 int auth_md5(char *pkt_data, int pkt_size, int mac_size, struct key *cmp_key);
31 
32 #endif
33