xref: /freebsd/contrib/unbound/dnscrypt/cert.h (revision c7f4d7ad9b7dbb008bffe724ae877e10fea2f821)
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