165b390aaSDag-Erling Smørgrav #ifndef UNBOUND_DNSCRYPT_CERT_H 265b390aaSDag-Erling Smørgrav #define UNBOUND_DNSCRYPT_CERT_H 365b390aaSDag-Erling Smørgrav 465b390aaSDag-Erling Smørgrav /** 565b390aaSDag-Erling Smørgrav * \file 665b390aaSDag-Erling Smørgrav * certificate type for dnscrypt for use in other header files 765b390aaSDag-Erling Smørgrav */ 865b390aaSDag-Erling Smørgrav 965b390aaSDag-Erling Smørgrav #include <sodium.h> 1065b390aaSDag-Erling Smørgrav #define CERT_MAGIC_CERT "DNSC" 1165b390aaSDag-Erling Smørgrav #define CERT_MAJOR_VERSION 1 1265b390aaSDag-Erling Smørgrav #define CERT_MINOR_VERSION 0 1365b390aaSDag-Erling Smørgrav #define CERT_OLD_MAGIC_HEADER "7PYqwfzt" 1465b390aaSDag-Erling Smørgrav 1565b390aaSDag-Erling Smørgrav #define CERT_FILE_EXPIRE_DAYS 365 1665b390aaSDag-Erling Smørgrav 1765b390aaSDag-Erling Smørgrav struct SignedCert { 1865b390aaSDag-Erling Smørgrav uint8_t magic_cert[4]; 1965b390aaSDag-Erling Smørgrav uint8_t version_major[2]; 2065b390aaSDag-Erling Smørgrav uint8_t version_minor[2]; 2165b390aaSDag-Erling Smørgrav 2265b390aaSDag-Erling Smørgrav // Signed Content 23*c7f4d7adSDag-Erling Smørgrav uint8_t signed_content[64]; 2465b390aaSDag-Erling Smørgrav uint8_t server_publickey[crypto_box_PUBLICKEYBYTES]; 2565b390aaSDag-Erling Smørgrav uint8_t magic_query[8]; 2665b390aaSDag-Erling Smørgrav uint8_t serial[4]; 2765b390aaSDag-Erling Smørgrav uint8_t ts_begin[4]; 2865b390aaSDag-Erling Smørgrav uint8_t ts_end[4]; 2965b390aaSDag-Erling Smørgrav }; 3065b390aaSDag-Erling Smørgrav 3165b390aaSDag-Erling Smørgrav 3265b390aaSDag-Erling Smørgrav #endif 33