12b15cb3dSCy Schubert/* -*- Mode: Text -*- */ 22b15cb3dSCy Schubert 32b15cb3dSCy Schubertautogen definitions options; 42b15cb3dSCy Schubert 52b15cb3dSCy Schubert#include copyright.def 62b15cb3dSCy Schubert#include version.def 72b15cb3dSCy Schubert 82b15cb3dSCy Schubert// We want the synopsis to be "/etc/ntp.keys" but we need the prog-name 92b15cb3dSCy Schubert// to be ntp.keys - the latter is also how autogen produces the output 102b15cb3dSCy Schubert// file name. 112b15cb3dSCy Schubertprog-name = "ntp.keys"; 122b15cb3dSCy Schubertfile-path = "/etc/ntp.keys"; 13*c7a33fe3SAlexander Ziaeeprog-title = "Network Time Protocol symmetric key format"; 142b15cb3dSCy Schubert 152b15cb3dSCy Schubert/* explain: Additional information whenever the usage routine is invoked */ 162b15cb3dSCy Schubertexplain = <<- _END_EXPLAIN 172b15cb3dSCy Schubert _END_EXPLAIN; 182b15cb3dSCy Schubert 192b15cb3dSCy Schubertdoc-section = { 202b15cb3dSCy Schubert ds-type = 'DESCRIPTION'; 212b15cb3dSCy Schubert ds-format = 'mdoc'; 222b15cb3dSCy Schubert ds-text = <<- _END_PROG_MDOC_DESCRIP 232b15cb3dSCy SchubertThis document describes the format of an NTP symmetric key file. 242b15cb3dSCy SchubertFor a description of the use of this type of file, see the 252b15cb3dSCy Schubert.Qq Authentication Support 262b15cb3dSCy Schubertsection of the 272b15cb3dSCy Schubert.Xr ntp.conf 5 282b15cb3dSCy Schubertpage. 292b15cb3dSCy Schubert.Pp 302b15cb3dSCy Schubert.Xr ntpd 8 312b15cb3dSCy Schubertreads its keys from a file specified using the 322b15cb3dSCy Schubert.Fl k 332b15cb3dSCy Schubertcommand line option or the 342b15cb3dSCy Schubert.Ic keys 352b15cb3dSCy Schubertstatement in the configuration file. 362b15cb3dSCy SchubertWhile key number 0 is fixed by the NTP standard 372b15cb3dSCy Schubert(as 56 zero bits) 382b15cb3dSCy Schubertand may not be changed, 394e1ef62aSXin LIone or more keys numbered between 1 and 65535 402b15cb3dSCy Schubertmay be arbitrarily set in the keys file. 412b15cb3dSCy Schubert.Pp 422b15cb3dSCy SchubertThe key file uses the same comment conventions 432b15cb3dSCy Schubertas the configuration file. 442b15cb3dSCy SchubertKey entries use a fixed format of the form 452b15cb3dSCy Schubert.Pp 4668ba7e87SXin LI.D1 Ar keyno type key opt_IP_list 472b15cb3dSCy Schubert.Pp 482b15cb3dSCy Schubertwhere 492b15cb3dSCy Schubert.Ar keyno 504e1ef62aSXin LIis a positive integer (between 1 and 65535), 512b15cb3dSCy Schubert.Ar type 522b15cb3dSCy Schubertis the message digest algorithm, 532b15cb3dSCy Schubert.Ar key 5468ba7e87SXin LIis the key itself, and 5568ba7e87SXin LI.Ar opt_IP_list 5668ba7e87SXin LIis an optional comma-separated list of IPs 5709100258SXin LIwhere the 5809100258SXin LI.Ar keyno 5909100258SXin LIshould be trusted. 6068ba7e87SXin LIthat are allowed to serve time. 6109100258SXin LIEach IP in 6209100258SXin LI.Ar opt_IP_list 6309100258SXin LImay contain an optional 6409100258SXin LI.Cm /subnetbits 6509100258SXin LIspecification which identifies the number of bits for 6609100258SXin LIthe desired subnet of trust. 6768ba7e87SXin LIIf 6868ba7e87SXin LI.Ar opt_IP_list 6968ba7e87SXin LIis empty, 7009100258SXin LIany properly-authenticated message will be 7168ba7e87SXin LIaccepted. 722b15cb3dSCy Schubert.Pp 732b15cb3dSCy SchubertThe 742b15cb3dSCy Schubert.Ar key 752b15cb3dSCy Schubertmay be given in a format 762b15cb3dSCy Schubertcontrolled by the 772b15cb3dSCy Schubert.Ar type 782b15cb3dSCy Schubertfield. 792b15cb3dSCy SchubertThe 802b15cb3dSCy Schubert.Ar type 812b15cb3dSCy Schubert.Li MD5 822b15cb3dSCy Schubertis always supported. 832b15cb3dSCy SchubertIf 842b15cb3dSCy Schubert.Li ntpd 852b15cb3dSCy Schubertwas built with the OpenSSL library 862b15cb3dSCy Schubertthen any digest library supported by that library may be specified. 872b15cb3dSCy SchubertHowever, if compliance with FIPS 140-2 is required the 882b15cb3dSCy Schubert.Ar type 892b15cb3dSCy Schubertmust be either 902b15cb3dSCy Schubert.Li SHA 912b15cb3dSCy Schubertor 922b15cb3dSCy Schubert.Li SHA1 . 932b15cb3dSCy Schubert.Pp 942b15cb3dSCy SchubertWhat follows are some key types, and corresponding formats: 952b15cb3dSCy Schubert.Pp 962b15cb3dSCy Schubert.Bl -tag -width RMD160 -compact 972b15cb3dSCy Schubert.It Li MD5 982b15cb3dSCy SchubertThe key is 1 to 16 printable characters terminated by 992b15cb3dSCy Schubertan EOL, 1002b15cb3dSCy Schubertwhitespace, 1012b15cb3dSCy Schubertor 1022b15cb3dSCy Schuberta 1032b15cb3dSCy Schubert.Li # 1042b15cb3dSCy Schubert(which is the "start of comment" character). 1052b15cb3dSCy Schubert.Pp 1062b15cb3dSCy Schubert.It Li SHA 1072b15cb3dSCy Schubert.It Li SHA1 1082b15cb3dSCy Schubert.It Li RMD160 1092b15cb3dSCy SchubertThe key is a hex-encoded ASCII string of 40 characters, 1102b15cb3dSCy Schubertwhich is truncated as necessary. 1112b15cb3dSCy Schubert.El 1122b15cb3dSCy Schubert.Pp 1132b15cb3dSCy SchubertNote that the keys used by the 1142b15cb3dSCy Schubert.Xr ntpq 8 1152b15cb3dSCy Schubertand 1162b15cb3dSCy Schubert.Xr ntpdc 8 1172b15cb3dSCy Schubertprograms are checked against passwords 1182b15cb3dSCy Schubertrequested by the programs and entered by hand, 1192b15cb3dSCy Schubertso it is generally appropriate to specify these keys in ASCII format. 1202b15cb3dSCy Schubert _END_PROG_MDOC_DESCRIP; 1212b15cb3dSCy Schubert}; 1222b15cb3dSCy Schubert 1232b15cb3dSCy Schubertdoc-section = { 1242b15cb3dSCy Schubert ds-type = 'FILES'; 1252b15cb3dSCy Schubert ds-format = 'mdoc'; 1262b15cb3dSCy Schubert ds-text = <<- _END_MDOC_FILES 1272b15cb3dSCy Schubert.Bl -tag -width /etc/ntp.keys -compact 1282b15cb3dSCy Schubert.It Pa /etc/ntp.keys 1292b15cb3dSCy Schubertthe default name of the configuration file 1302b15cb3dSCy Schubert.El 1312b15cb3dSCy Schubert _END_MDOC_FILES; 1322b15cb3dSCy Schubert}; 1332b15cb3dSCy Schubert 1342b15cb3dSCy Schubertdoc-section = { 1352b15cb3dSCy Schubert ds-type = 'SEE ALSO'; 1362b15cb3dSCy Schubert ds-format = 'mdoc'; 1372b15cb3dSCy Schubert ds-text = <<- _END_MDOC_SEE_ALSO 1382b15cb3dSCy Schubert.Xr ntp.conf 5 , 1392b15cb3dSCy Schubert.Xr ntpd 1ntpdmdoc , 1402b15cb3dSCy Schubert.Xr ntpdate 1ntpdatemdoc , 1412b15cb3dSCy Schubert.Xr ntpdc 1ntpdcmdoc , 1422b15cb3dSCy Schubert.Xr sntp 1sntpmdoc 1432b15cb3dSCy Schubert _END_MDOC_SEE_ALSO; 1442b15cb3dSCy Schubert}; 1452b15cb3dSCy Schubert 1462b15cb3dSCy Schubert/* 1472b15cb3dSCy Schubertdoc-section = { 1482b15cb3dSCy Schubert ds-type = 'BUGS'; 1492b15cb3dSCy Schubert ds-format = 'mdoc'; 1502b15cb3dSCy Schubert ds-text = <<- _END_MDOC_BUGS 1512b15cb3dSCy Schubert.Xr ntpd 8 1522b15cb3dSCy Schuberthas gotten rather fat. 1532b15cb3dSCy SchubertWhile not huge, it has gotten larger than might 1542b15cb3dSCy Schubertbe desirable for an elevated-priority daemon running on a workstation, 1552b15cb3dSCy Schubertparticularly since many of the fancy features which consume the space 1562b15cb3dSCy Schubertwere designed more with a busy primary server, rather than a high 1572b15cb3dSCy Schubertstratum workstation, in mind. 1582b15cb3dSCy Schubert _END_MDOC_BUGS; 1592b15cb3dSCy Schubert}; 1602b15cb3dSCy Schubert*/ 1612b15cb3dSCy Schubert 1622b15cb3dSCy Schubertdoc-section = { 1632b15cb3dSCy Schubert ds-type = 'NOTES'; 1642b15cb3dSCy Schubert ds-format = 'mdoc'; 1652b15cb3dSCy Schubert ds-text = <<- _END_MDOC_NOTES 1662b15cb3dSCy SchubertThis document was derived from FreeBSD. 1672b15cb3dSCy Schubert _END_MDOC_NOTES; 1682b15cb3dSCy Schubert}; 169