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 "utilities.h" 12#include "sntp-opts.h" 13 14#define LEN_PKT_MAC LEN_PKT_NOMAC + sizeof(u_int32) 15 16/* #include "sntp-opts.h" */ 17 18struct key { 19 struct key * next; 20 keyid_t key_id; 21 size_t key_len; 22 int typei; 23 char typen[20]; 24 char key_seq[64]; 25}; 26 27extern int auth_init(const char *keyfile, struct key **keys); 28extern void get_key(keyid_t key_id, struct key **d_key); 29extern size_t make_mac(const void *pkt_data, size_t pkt_len, 30 const struct key *cmp_key, void *digest, 31 size_t dig_sz); 32extern int auth_md5(const void *pkt_data, size_t pkt_len, 33 size_t dig_len, const struct key *cmp_key); 34 35#endif 36