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 extern int auth_init(const char *keyfile, struct key **keys); 28 extern void get_key(int key_id, struct key **d_key); 29 extern int make_mac(const void *pkt_data, int pkt_size, int mac_size, 30 const struct key *cmp_key, void *digest); 31 extern int auth_md5(const void *pkt_data, int pkt_size, int mac_size, 32 const struct key *cmp_key); 33 34 #endif 35