1ea906c41SOllivier Robert/* -*- Mode: Text -*- */ 2ea906c41SOllivier Robert 3ea906c41SOllivier Robertautogen definitions options; 4ea906c41SOllivier Robert 5ea906c41SOllivier Robert#include copyright.def 6ea906c41SOllivier Robert#include homerc.def 7ea906c41SOllivier Robert#include autogen-version.def 8ea906c41SOllivier Robert 9ea906c41SOllivier Robertprog-name = "ntp-keygen"; 10*c7a33fe3SAlexander Ziaeeprog-title = "create a Network Time Protocol host key"; 11ea906c41SOllivier Robertpackage = ntp; 12ea906c41SOllivier Robert 13ea906c41SOllivier Robertinclude = '#include <stdlib.h>'; 14ea906c41SOllivier Robert#include version.def 15ea906c41SOllivier Robert 16ea906c41SOllivier Robertflag = { 172b15cb3dSCy Schubert value = b; 182b15cb3dSCy Schubert name = imbits; 192b15cb3dSCy Schubert arg-type = number; 202b15cb3dSCy Schubert arg-name = imbits; 212b15cb3dSCy Schubert arg-range = '256->2048'; 222b15cb3dSCy Schubert ifdef = AUTOKEY; 232b15cb3dSCy Schubert descrip = "identity modulus bits"; 242b15cb3dSCy Schubert doc = <<- _EndOfDoc_ 25a466cc55SCy Schubert The number of bits in the identity modulus. The default is 512. 262b15cb3dSCy Schubert _EndOfDoc_; 272b15cb3dSCy Schubert}; 282b15cb3dSCy Schubert 292b15cb3dSCy Schubertflag = { 30ea906c41SOllivier Robert value = c; 312b15cb3dSCy Schubert name = certificate; 32ea906c41SOllivier Robert arg-type = string; 33ea906c41SOllivier Robert arg-name = scheme; 342b15cb3dSCy Schubert ifdef = AUTOKEY; 35ea906c41SOllivier Robert descrip = "certificate scheme"; 36ea906c41SOllivier Robert doc = <<- _EndOfDoc_ 372b15cb3dSCy Schubert scheme is one of 3809100258SXin LI RSA-MD2, RSA-MD5, RSA-MDC2, RSA-SHA, RSA-SHA1, RSA-RIPEMD160, 392b15cb3dSCy Schubert DSA-SHA, or DSA-SHA1. 402b15cb3dSCy Schubert 4109100258SXin LI Select the certificate signature encryption/message digest scheme. 422b15cb3dSCy Schubert Note that RSA schemes must be used with a RSA sign key and DSA 432b15cb3dSCy Schubert schemes must be used with a DSA sign key. The default without 442b15cb3dSCy Schubert this option is RSA-MD5. 452b15cb3dSCy Schubert _EndOfDoc_; 462b15cb3dSCy Schubert}; 472b15cb3dSCy Schubert 482b15cb3dSCy Schubertflag = { 492b15cb3dSCy Schubert value = C; 502b15cb3dSCy Schubert name = cipher; 512b15cb3dSCy Schubert arg-type = string; 522b15cb3dSCy Schubert arg-name = cipher; 532b15cb3dSCy Schubert ifdef = AUTOKEY; 542b15cb3dSCy Schubert descrip = "privatekey cipher"; 552b15cb3dSCy Schubert doc = <<- _EndOfDoc_ 562b15cb3dSCy Schubert Select the cipher which is used to encrypt the files containing 572b15cb3dSCy Schubert private keys. The default is three-key triple DES in CBC mode, 5809100258SXin LI equivalent to "@code{-C des-ede3-cbc}". The openssl tool lists ciphers 592b15cb3dSCy Schubert available in "@code{openssl -h}" output. 60ea906c41SOllivier Robert _EndOfDoc_; 61ea906c41SOllivier Robert}; 62ea906c41SOllivier Robert 63ea906c41SOllivier Robert#include debug-opt.def 64ea906c41SOllivier Robert 65ea906c41SOllivier Robertflag = { 66ea906c41SOllivier Robert value = e; 672b15cb3dSCy Schubert name = id-key; 682b15cb3dSCy Schubert ifdef = AUTOKEY; 692b15cb3dSCy Schubert descrip = "Write IFF or GQ identity keys"; 70ea906c41SOllivier Robert doc = <<- _EndOfDoc_ 7109100258SXin LI Write the public parameters from the IFF or GQ client keys to 7209100258SXin LI the standard output. 7309100258SXin LI This is intended for automatic key distribution by email. 74ea906c41SOllivier Robert _EndOfDoc_; 75ea906c41SOllivier Robert}; 76ea906c41SOllivier Robert 77ea906c41SOllivier Robertflag = { 78ea906c41SOllivier Robert value = G; 792b15cb3dSCy Schubert name = gq-params; 802b15cb3dSCy Schubert ifdef = AUTOKEY; 81ea906c41SOllivier Robert descrip = "Generate GQ parameters and keys"; 82ea906c41SOllivier Robert doc = <<- _EndOfDoc_ 832b15cb3dSCy Schubert Generate parameters and keys for the GQ identification scheme, 842b15cb3dSCy Schubert obsoleting any that may exist. 85ea906c41SOllivier Robert _EndOfDoc_; 86ea906c41SOllivier Robert}; 87ea906c41SOllivier Robert 88ea906c41SOllivier Robertflag = { 89ea906c41SOllivier Robert value = H; 902b15cb3dSCy Schubert name = host-key; 912b15cb3dSCy Schubert ifdef = AUTOKEY; 92ea906c41SOllivier Robert descrip = "generate RSA host key"; 93ea906c41SOllivier Robert doc = <<- _EndOfDoc_ 942b15cb3dSCy Schubert Generate new host keys, obsoleting any that may exist. 95ea906c41SOllivier Robert _EndOfDoc_; 96ea906c41SOllivier Robert}; 97ea906c41SOllivier Robert 98ea906c41SOllivier Robertflag = { 99ea906c41SOllivier Robert value = I; 1002b15cb3dSCy Schubert name = iffkey; 1012b15cb3dSCy Schubert ifdef = AUTOKEY; 102ea906c41SOllivier Robert descrip = "generate IFF parameters"; 103ea906c41SOllivier Robert doc = <<- _EndOfDoc_ 1042b15cb3dSCy Schubert Generate parameters for the IFF identification scheme, obsoleting 1052b15cb3dSCy Schubert any that may exist. 106ea906c41SOllivier Robert _EndOfDoc_; 107ea906c41SOllivier Robert}; 108ea906c41SOllivier Robert 109ea906c41SOllivier Robertflag = { 110ea906c41SOllivier Robert value = i; 1112b15cb3dSCy Schubert name = ident; 1122b15cb3dSCy Schubert ifdef = AUTOKEY; 1132b15cb3dSCy Schubert arg-type = string; 1142b15cb3dSCy Schubert arg-name = group; 1152b15cb3dSCy Schubert descrip = "set Autokey group name"; 116ea906c41SOllivier Robert doc = <<- _EndOfDoc_ 1172b15cb3dSCy Schubert Set the optional Autokey group name to name. This is used in 1182b15cb3dSCy Schubert the file name of IFF, GQ, and MV client parameters files. In 1192b15cb3dSCy Schubert that role, the default is the host name if this option is not 1202b15cb3dSCy Schubert provided. The group name, if specified using @code{-i/--ident} or 12109100258SXin LI using @code{-s/--subject-name} following an '@code{@@}' character, 12209100258SXin LI is also a part of the self-signed host certificate subject and 12309100258SXin LI issuer names in the form @code{host@@group} and should match the 12409100258SXin LI '@code{crypto ident}' or '@code{server ident}' configuration in the 12509100258SXin LI @code{ntpd} configuration file. 126ea906c41SOllivier Robert _EndOfDoc_; 127ea906c41SOllivier Robert}; 128ea906c41SOllivier Robert 129ea906c41SOllivier Robertflag = { 1302b15cb3dSCy Schubert value = l; 1312b15cb3dSCy Schubert name = lifetime; 1322b15cb3dSCy Schubert ifdef = AUTOKEY; 1332b15cb3dSCy Schubert arg-type = number; 1342b15cb3dSCy Schubert arg-name = lifetime; 1352b15cb3dSCy Schubert descrip = "set certificate lifetime"; 1362b15cb3dSCy Schubert doc = <<- _EndOfDoc_ 1372b15cb3dSCy Schubert Set the certificate expiration to lifetime days from now. 1382b15cb3dSCy Schubert _EndOfDoc_; 1392b15cb3dSCy Schubert}; 1402b15cb3dSCy Schubert 1412b15cb3dSCy Schubertflag = { 142ea906c41SOllivier Robert value = m; 1432b15cb3dSCy Schubert name = modulus; 144ea906c41SOllivier Robert arg-type = number; 145ea906c41SOllivier Robert arg-name = modulus; 146ea906c41SOllivier Robert arg-range = '256->2048'; 1472b15cb3dSCy Schubert ifdef = AUTOKEY; 14809100258SXin LI descrip = "prime modulus"; 149ea906c41SOllivier Robert doc = <<- _EndOfDoc_ 1502b15cb3dSCy Schubert The number of bits in the prime modulus. The default is 512. 151ea906c41SOllivier Robert _EndOfDoc_; 152ea906c41SOllivier Robert}; 153ea906c41SOllivier Robert 154ea906c41SOllivier Robertflag = { 15509100258SXin LI value = M; 15609100258SXin LI name = md5key; 15709100258SXin LI descrip = "generate symmetric keys"; 15809100258SXin LI doc = <<- _EndOfDoc_ 15909100258SXin LI Generate symmetric keys, obsoleting any that may exist. 16009100258SXin LI _EndOfDoc_; 16109100258SXin LI}; 16209100258SXin LI 16309100258SXin LIflag = { 164ea906c41SOllivier Robert value = P; 1652b15cb3dSCy Schubert name = pvt-cert; 1662b15cb3dSCy Schubert ifdef = AUTOKEY; 167ea906c41SOllivier Robert descrip = "generate PC private certificate"; 168ea906c41SOllivier Robert doc = <<- _EndOfDoc_ 1692b15cb3dSCy Schubert Generate a private certificate. By default, the program generates 1702b15cb3dSCy Schubert public certificates. 171ea906c41SOllivier Robert _EndOfDoc_; 172ea906c41SOllivier Robert}; 173ea906c41SOllivier Robert 174ea906c41SOllivier Robertflag = { 175ea906c41SOllivier Robert value = p; 1762b15cb3dSCy Schubert name = password; // was: pvt-passwd; 1772b15cb3dSCy Schubert ifdef = AUTOKEY; 178ea906c41SOllivier Robert arg-type = string; 179ea906c41SOllivier Robert arg-name = passwd; 1802b15cb3dSCy Schubert descrip = "local private password"; 181ea906c41SOllivier Robert doc = <<- _EndOfDoc_ 1822b15cb3dSCy Schubert Local files containing private data are encrypted with the 1832b15cb3dSCy Schubert DES-CBC algorithm and the specified password. The same password 1842b15cb3dSCy Schubert must be specified to the local ntpd via the "crypto pw password" 1852b15cb3dSCy Schubert configuration command. The default password is the local 1862b15cb3dSCy Schubert hostname. 187ea906c41SOllivier Robert _EndOfDoc_; 188ea906c41SOllivier Robert}; 189ea906c41SOllivier Robert 190ea906c41SOllivier Robertflag = { 191ea906c41SOllivier Robert value = q; 1922b15cb3dSCy Schubert name = export-passwd; // Was: get-pvt-passwd; 1932b15cb3dSCy Schubert ifdef = AUTOKEY; 194ea906c41SOllivier Robert arg-type = string; 195ea906c41SOllivier Robert arg-name = passwd; 1962b15cb3dSCy Schubert descrip = "export IFF or GQ group keys with password"; 197ea906c41SOllivier Robert doc = <<- _EndOfDoc_ 1982b15cb3dSCy Schubert Export IFF or GQ identity group keys to the standard output, 1992b15cb3dSCy Schubert encrypted with the DES-CBC algorithm and the specified password. 2002b15cb3dSCy Schubert The same password must be specified to the remote ntpd via the 2012b15cb3dSCy Schubert "crypto pw password" configuration command. See also the option 2022b15cb3dSCy Schubert --id-key (-e) for unencrypted exports. 203ea906c41SOllivier Robert _EndOfDoc_; 204ea906c41SOllivier Robert}; 205ea906c41SOllivier Robert 206ea906c41SOllivier Robertflag = { 20709100258SXin LI value = s; 20809100258SXin LI name = subject-name; 20909100258SXin LI arg-type = string; 21009100258SXin LI arg-name = host@group; 21109100258SXin LI ifdef = AUTOKEY; 21209100258SXin LI descrip = "set host and optionally group name"; 21309100258SXin LI doc = <<- _EndOfDoc_ 21409100258SXin LI Set the Autokey host name, and optionally, group name specified 21509100258SXin LI following an '@code{@@}' character. The host name is used in the file 21609100258SXin LI name of generated host and signing certificates, without the 21709100258SXin LI group name. The host name, and if provided, group name are used 21809100258SXin LI in @code{host@@group} form for the host certificate subject and issuer 21909100258SXin LI fields. Specifying '@code{-s @@group}' is allowed, and results in 22009100258SXin LI leaving the host name unchanged while appending @code{@@group} to the 22109100258SXin LI subject and issuer fields, as with @code{-i group}. The group name, or 22209100258SXin LI if not provided, the host name are also used in the file names 22309100258SXin LI of IFF, GQ, and MV client parameter files. 22409100258SXin LI _EndOfDoc_; 22509100258SXin LI}; 22609100258SXin LI 22709100258SXin LIflag = { 228ea906c41SOllivier Robert value = S; 2292b15cb3dSCy Schubert name = sign-key; 230ea906c41SOllivier Robert arg-type = string; 231ea906c41SOllivier Robert arg-name = sign; 2322b15cb3dSCy Schubert ifdef = AUTOKEY; 233ea906c41SOllivier Robert descrip = "generate sign key (RSA or DSA)"; 234ea906c41SOllivier Robert doc = <<- _EndOfDoc_ 2352b15cb3dSCy Schubert Generate a new sign key of the designated type, obsoleting any 2362b15cb3dSCy Schubert that may exist. By default, the program uses the host key as the 2372b15cb3dSCy Schubert sign key. 238ea906c41SOllivier Robert _EndOfDoc_; 239ea906c41SOllivier Robert}; 240ea906c41SOllivier Robert 241ea906c41SOllivier Robertflag = { 242ea906c41SOllivier Robert value = T; 2432b15cb3dSCy Schubert name = trusted-cert; 2442b15cb3dSCy Schubert ifdef = AUTOKEY; 245ea906c41SOllivier Robert descrip = "trusted certificate (TC scheme)"; 246ea906c41SOllivier Robert doc = <<- _EndOfDoc_ 2472b15cb3dSCy Schubert Generate a trusted certificate. By default, the program generates 2482b15cb3dSCy Schubert a non-trusted certificate. 249ea906c41SOllivier Robert _EndOfDoc_; 250ea906c41SOllivier Robert}; 251ea906c41SOllivier Robert 252ea906c41SOllivier Robertflag = { 253ea906c41SOllivier Robert value = V; 2542b15cb3dSCy Schubert name = mv-params; 255ea906c41SOllivier Robert arg-type = number; 256ea906c41SOllivier Robert arg-name = num; 2572b15cb3dSCy Schubert ifdef = AUTOKEY; 258ea906c41SOllivier Robert descrip = "generate <num> MV parameters"; 259ea906c41SOllivier Robert doc = <<- _EndOfDoc_ 2602b15cb3dSCy Schubert Generate parameters and keys for the Mu-Varadharajan (MV) 2612b15cb3dSCy Schubert identification scheme. 262ea906c41SOllivier Robert _EndOfDoc_; 263ea906c41SOllivier Robert}; 264ea906c41SOllivier Robert 265ea906c41SOllivier Robertflag = { 266ea906c41SOllivier Robert value = v; 2672b15cb3dSCy Schubert name = mv-keys; 268ea906c41SOllivier Robert arg-type = number; 269ea906c41SOllivier Robert arg-name = num; 2702b15cb3dSCy Schubert ifdef = AUTOKEY; 271ea906c41SOllivier Robert descrip = "update <num> MV keys"; 272ea906c41SOllivier Robert}; 273ea906c41SOllivier Robert 2742b15cb3dSCy Schubert/* explain: Additional information whenever the usage routine is invoked */ 2752b15cb3dSCy Schubertexplain = <<- _END_EXPLAIN 2762b15cb3dSCy Schubert _END_EXPLAIN; 2772b15cb3dSCy Schubert 2782b15cb3dSCy Schubertdoc-section = { 2792b15cb3dSCy Schubert ds-type = 'DESCRIPTION'; 2802b15cb3dSCy Schubert ds-format = 'mdoc'; 2812b15cb3dSCy Schubert ds-text = <<- _END_PROG_MDOC_DESCRIP 2822b15cb3dSCy SchubertThis program generates cryptographic data files used by the NTPv4 2832b15cb3dSCy Schubertauthentication and identification schemes. 28409100258SXin LIIt can generate message digest keys used in symmetric key cryptography and, 28509100258SXin LIif the OpenSSL software library has been installed, it can generate host keys, 28609100258SXin LIsigning keys, certificates, and identity keys and parameters used in Autokey 28709100258SXin LIpublic key cryptography. 2882b15cb3dSCy SchubertThese files are used for cookie encryption, 28909100258SXin LIdigital signature, and challenge/response identification algorithms 2902b15cb3dSCy Schubertcompatible with the Internet standard security infrastructure. 2912b15cb3dSCy Schubert.Pp 29209100258SXin LIThe message digest symmetric keys file is generated in a format 29309100258SXin LIcompatible with NTPv3. 29409100258SXin LIAll other files are in PEM-encoded printable ASCII format, 29509100258SXin LIso they can be embedded as MIME attachments in email to other sites 2962b15cb3dSCy Schubertand certificate authorities. 2972b15cb3dSCy SchubertBy default, files are not encrypted. 2982b15cb3dSCy Schubert.Pp 29909100258SXin LIWhen used to generate message digest symmetric keys, the program 30009100258SXin LIproduces a file containing ten pseudo-random printable ASCII strings 30109100258SXin LIsuitable for the MD5 message digest algorithm included in the 30209100258SXin LIdistribution. 3032b15cb3dSCy SchubertIf the OpenSSL library is installed, it produces an additional ten 30409100258SXin LIhex-encoded random bit strings suitable for SHA1, AES-128-CMAC, and 30509100258SXin LIother message digest algorithms. 30609100258SXin LIThe message digest symmetric keys file must be distributed and stored 3072b15cb3dSCy Schubertusing secure means beyond the scope of NTP itself. 3082b15cb3dSCy SchubertBesides the keys used for ordinary NTP associations, additional keys 3092b15cb3dSCy Schubertcan be defined as passwords for the 3102b15cb3dSCy Schubert.Xr ntpq 1ntpqmdoc 3112b15cb3dSCy Schubertand 3122b15cb3dSCy Schubert.Xr ntpdc 1ntpdcmdoc 3132b15cb3dSCy Schubertutility programs. 3142b15cb3dSCy Schubert.Pp 3152b15cb3dSCy SchubertThe remaining generated files are compatible with other OpenSSL 3162b15cb3dSCy Schubertapplications and other Public Key Infrastructure (PKI) resources. 3172b15cb3dSCy SchubertCertificates generated by this program are compatible with extant 3182b15cb3dSCy Schubertindustry practice, although some users might find the interpretation of 3192b15cb3dSCy SchubertX509v3 extension fields somewhat liberal. 3202b15cb3dSCy SchubertHowever, the identity keys are probably not compatible with anything 3212b15cb3dSCy Schubertother than Autokey. 3222b15cb3dSCy Schubert.Pp 3232b15cb3dSCy SchubertSome files used by this program are encrypted using a private password. 3242b15cb3dSCy SchubertThe 3252b15cb3dSCy Schubert.Fl p 32609100258SXin LIoption specifies the read password for local encrypted files and the 3272b15cb3dSCy Schubert.Fl q 32809100258SXin LIoption the write password for encrypted files sent to remote sites. 3292b15cb3dSCy SchubertIf no password is specified, the host name returned by the Unix 33009100258SXin LI.Xr hostname 1 33109100258SXin LIcommand, normally the DNS name of the host, is used as the the default read 33209100258SXin LIpassword, for convenience. 33309100258SXin LIThe 33409100258SXin LI.Nm 33509100258SXin LIprogram prompts for the password if it reads an encrypted file 33609100258SXin LIand the password is missing or incorrect. 33709100258SXin LIIf an encrypted file is read successfully and 33809100258SXin LIno write password is specified, the read password is used 33909100258SXin LIas the write password by default. 3402b15cb3dSCy Schubert.Pp 3412b15cb3dSCy SchubertThe 34209100258SXin LI.Cm pw 3432b15cb3dSCy Schubertoption of the 34409100258SXin LI.Ic crypto 34509100258SXin LI.Xr ntpd 1ntpdmdoc 3462b15cb3dSCy Schubertconfiguration command specifies the read 3472b15cb3dSCy Schubertpassword for previously encrypted local files. 34809100258SXin LIThis must match the local read password used by this program. 3492b15cb3dSCy SchubertIf not specified, the host name is used. 35009100258SXin LIThus, if files are generated by this program without an explicit password, 3512b15cb3dSCy Schubertthey can be read back by 35209100258SXin LI.Xr ntpd 1ntpdmdoc 35309100258SXin LIwithout specifying an explicit password but only on the same host. 35409100258SXin LIIf the write password used for encryption is specified as the host name, 35509100258SXin LIthese files can be read by that host with no explicit password. 3562b15cb3dSCy Schubert.Pp 3572b15cb3dSCy SchubertNormally, encrypted files for each host are generated by that host and 3582b15cb3dSCy Schubertused only by that host, although exceptions exist as noted later on 3592b15cb3dSCy Schubertthis page. 3602b15cb3dSCy SchubertThe symmetric keys file, normally called 36109100258SXin LI.Pa ntp.keys , 3622b15cb3dSCy Schubertis usually installed in 3632b15cb3dSCy Schubert.Pa /etc . 3642b15cb3dSCy SchubertOther files and links are usually installed in 3652b15cb3dSCy Schubert.Pa /usr/local/etc , 3662b15cb3dSCy Schubertwhich is normally in a shared filesystem in 3672b15cb3dSCy SchubertNFS-mounted networks and cannot be changed by shared clients. 36809100258SXin LIIn these cases, NFS clients can specify the files in another 36909100258SXin LIdirectory such as 37009100258SXin LI.Pa /etc 37109100258SXin LIusing the 37209100258SXin LI.Ic keysdir 37309100258SXin LI.Xr ntpd 1ntpdmdoc 37409100258SXin LIconfiguration file command. 3752b15cb3dSCy Schubert.Pp 3762b15cb3dSCy SchubertThis program directs commentary and error messages to the standard 3772b15cb3dSCy Schuberterror stream 37809100258SXin LI.Pa stderr 3792b15cb3dSCy Schubertand remote files to the standard output stream 38009100258SXin LI.Pa stdout 3812b15cb3dSCy Schubertwhere they can be piped to other applications or redirected to files. 3822b15cb3dSCy SchubertThe names used for generated files and links all begin with the 3832b15cb3dSCy Schubertstring 38409100258SXin LI.Pa ntpkey\&* 3852b15cb3dSCy Schubertand include the file type, generating host and filestamp, 3862b15cb3dSCy Schubertas described in the 38709100258SXin LI.Sx "Cryptographic Data Files" 3882b15cb3dSCy Schubertsection below. 38909100258SXin LI 3902b15cb3dSCy Schubert.Ss Running the Program 39109100258SXin LIThe safest way to run the 39209100258SXin LI.Nm 39309100258SXin LIprogram is logged in directly as root. 39409100258SXin LIThe recommended procedure is change to the 39509100258SXin LI.Ar keys 39609100258SXin LIdirectory, usually 39709100258SXin LI.Pa /usr/local/etc , 39809100258SXin LIthen run the program. 39909100258SXin LI.Pp 4002b15cb3dSCy SchubertTo test and gain experience with Autokey concepts, log in as root and 40109100258SXin LIchange to the 40209100258SXin LI.Ar keys 40309100258SXin LIdirectory, usually 40409100258SXin LI.Pa /usr/local/etc . 4052b15cb3dSCy SchubertWhen run for the first time, or if all files with names beginning with 40609100258SXin LI.Pa ntpkey\&* 4072b15cb3dSCy Schuberthave been removed, use the 4082b15cb3dSCy Schubert.Nm 40909100258SXin LIcommand without arguments to generate a default 41009100258SXin LI.Cm RSA 41109100258SXin LIhost key and matching 41209100258SXin LI.Cm RSA-MD5 41309100258SXin LIcertificate file with expiration date one year hence, 41409100258SXin LIwhich is all that is necessary in many cases. 41509100258SXin LIThe program also generates soft links from the generic names 41609100258SXin LIto the respective files. 4172b15cb3dSCy SchubertIf run again without options, the program uses the 41809100258SXin LIexisting keys and parameters and generates a new certificate file with 41909100258SXin LInew expiration date one year hence, and soft link. 42009100258SXin LI.Pp 42109100258SXin LIThe host key is used to encrypt the cookie when required and so must be 42209100258SXin LI.Cm RSA 42309100258SXin LItype. 42409100258SXin LIBy default, the host key is also the sign key used to encrypt signatures. 42509100258SXin LIWhen necessary, a different sign key can be specified and this can be 42609100258SXin LIeither 42709100258SXin LI.Cm RSA 42809100258SXin LIor 42909100258SXin LI.Cm DSA 43009100258SXin LItype. 43109100258SXin LIBy default, the message digest type is 43209100258SXin LI.Cm MD5 , 43309100258SXin LIbut any combination 43409100258SXin LIof sign key type and message digest type supported by the OpenSSL library 43509100258SXin LIcan be specified, including those using the 43609100258SXin LI.Cm AES128CMAC , MD2 , MD5 , MDC2 , SHA , SHA1 43709100258SXin LIand 43809100258SXin LI.Cm RIPE160 43909100258SXin LImessage digest algorithms. 44009100258SXin LIHowever, the scheme specified in the certificate must be compatible 44109100258SXin LIwith the sign key. 44209100258SXin LICertificates using any digest algorithm are compatible with 44309100258SXin LI.Cm RSA 44409100258SXin LIsign keys; 44509100258SXin LIhowever, only 44609100258SXin LI.Cm SHA 44709100258SXin LIand 44809100258SXin LI.Cm SHA1 44909100258SXin LIcertificates are compatible with 45009100258SXin LI.Cm DSA 45109100258SXin LIsign keys. 45209100258SXin LI.Pp 45309100258SXin LIPrivate/public key files and certificates are compatible with 45409100258SXin LIother OpenSSL applications and very likely other libraries as well. 45509100258SXin LICertificates or certificate requests derived from them should be compatible 45609100258SXin LIwith extant industry practice, although some users might find 45709100258SXin LIthe interpretation of X509v3 extension fields somewhat liberal. 45809100258SXin LIHowever, the identification parameter files, although encoded 45909100258SXin LIas the other files, are probably not compatible with anything other than Autokey. 46009100258SXin LI.Pp 46109100258SXin LIRunning the program as other than root and using the Unix 46209100258SXin LI.Xr su 1 46309100258SXin LIcommand 46409100258SXin LIto assume root may not work properly, since by default the OpenSSL library 46509100258SXin LIlooks for the random seed file 46609100258SXin LI.Pa .rnd 46709100258SXin LIin the user home directory. 46809100258SXin LIHowever, there should be only one 46909100258SXin LI.Pa .rnd , 47009100258SXin LImost conveniently 47109100258SXin LIin the root directory, so it is convenient to define the 47209100258SXin LI.Ev RANDFILE 47309100258SXin LIenvironment variable used by the OpenSSL library as the path to 47409100258SXin LI.Pa .rnd . 47509100258SXin LI.Pp 47609100258SXin LIInstalling the keys as root might not work in NFS-mounted 47709100258SXin LIshared file systems, as NFS clients may not be able to write 47809100258SXin LIto the shared keys directory, even as root. 47909100258SXin LIIn this case, NFS clients can specify the files in another 48009100258SXin LIdirectory such as 48109100258SXin LI.Pa /etc 48209100258SXin LIusing the 48309100258SXin LI.Ic keysdir 48409100258SXin LI.Xr ntpd 1ntpdmdoc 48509100258SXin LIconfiguration file command. 48609100258SXin LIThere is no need for one client to read the keys and certificates 48709100258SXin LIof other clients or servers, as these data are obtained automatically 48809100258SXin LIby the Autokey protocol. 48909100258SXin LI.Pp 49009100258SXin LIOrdinarily, cryptographic files are generated by the host that uses them, 49109100258SXin LIbut it is possible for a trusted agent (TA) to generate these files 49209100258SXin LIfor other hosts; however, in such cases files should always be encrypted. 49309100258SXin LIThe subject name and trusted name default to the hostname 49409100258SXin LIof the host generating the files, but can be changed by command line options. 49509100258SXin LIIt is convenient to designate the owner name and trusted name 49609100258SXin LIas the subject and issuer fields, respectively, of the certificate. 49709100258SXin LIThe owner name is also used for the host and sign key files, 49809100258SXin LIwhile the trusted name is used for the identity files. 49909100258SXin LI.Pp 50009100258SXin LIAll files are installed by default in the keys directory 50109100258SXin LI.Pa /usr/local/etc , 50209100258SXin LIwhich is normally in a shared filesystem 50309100258SXin LIin NFS-mounted networks. 50409100258SXin LIThe actual location of the keys directory 50509100258SXin LIand each file can be overridden by configuration commands, 50609100258SXin LIbut this is not recommended. 50709100258SXin LINormally, the files for each host are generated by that host 50809100258SXin LIand used only by that host, although exceptions exist 50909100258SXin LIas noted later on this page. 51009100258SXin LI.Pp 51109100258SXin LINormally, files containing private values, 51209100258SXin LIincluding the host key, sign key and identification parameters, 51309100258SXin LIare permitted root read/write-only; 51409100258SXin LIwhile others containing public values are permitted world readable. 51509100258SXin LIAlternatively, files containing private values can be encrypted 51609100258SXin LIand these files permitted world readable, 51709100258SXin LIwhich simplifies maintenance in shared file systems. 51809100258SXin LISince uniqueness is insured by the 51909100258SXin LI.Ar hostname 52009100258SXin LIand 52109100258SXin LI.Ar filestamp 52209100258SXin LIfile name extensions, the files for an NTP server and 52309100258SXin LIdependent clients can all be installed in the same shared directory. 52409100258SXin LI.Pp 52509100258SXin LIThe recommended practice is to keep the file name extensions 52609100258SXin LIwhen installing a file and to install a soft link 52709100258SXin LIfrom the generic names specified elsewhere on this page 52809100258SXin LIto the generated files. 52909100258SXin LIThis allows new file generations to be activated simply 53009100258SXin LIby changing the link. 53109100258SXin LIIf a link is present, 53209100258SXin LI.Xr ntpd 1ntpdmdoc 53309100258SXin LIfollows it to the file name to extract the 53409100258SXin LI.Ar filestamp . 53509100258SXin LIIf a link is not present, 53609100258SXin LI.Xr ntpd 1ntpdmdoc 53709100258SXin LIextracts the 53809100258SXin LI.Ar filestamp 53909100258SXin LIfrom the file itself. 54009100258SXin LIThis allows clients to verify that the file and generation times 54109100258SXin LIare always current. 54209100258SXin LIThe 54309100258SXin LI.Nm 54409100258SXin LIprogram uses the same 54509100258SXin LI.Ar filestamp 54609100258SXin LIextension for all files generated 54709100258SXin LIat one time, so each generation is distinct and can be readily 54809100258SXin LIrecognized in monitoring data. 5492b15cb3dSCy Schubert.Pp 5502b15cb3dSCy SchubertRun the command on as many hosts as necessary. 5512b15cb3dSCy SchubertDesignate one of them as the trusted host (TH) using 5522b15cb3dSCy Schubert.Nm 5532b15cb3dSCy Schubertwith the 5542b15cb3dSCy Schubert.Fl T 5552b15cb3dSCy Schubertoption and configure it to synchronize from reliable Internet servers. 5562b15cb3dSCy SchubertThen configure the other hosts to synchronize to the TH directly or 5572b15cb3dSCy Schubertindirectly. 5582b15cb3dSCy SchubertA certificate trail is created when Autokey asks the immediately 5592b15cb3dSCy Schubertascendant host towards the TH to sign its certificate, which is then 5602b15cb3dSCy Schubertprovided to the immediately descendant host on request. 5612b15cb3dSCy SchubertAll group hosts should have acyclic certificate trails ending on the TH. 5622b15cb3dSCy Schubert.Pp 5632b15cb3dSCy SchubertThe host key is used to encrypt the cookie when required and so must be 5642b15cb3dSCy SchubertRSA type. 5652b15cb3dSCy SchubertBy default, the host key is also the sign key used to encrypt 5662b15cb3dSCy Schubertsignatures. 5672b15cb3dSCy SchubertA different sign key can be assigned using the 5682b15cb3dSCy Schubert.Fl S 56909100258SXin LIoption and this can be either 57009100258SXin LI.Cm RSA 57109100258SXin LIor 57209100258SXin LI.Cm DSA 57309100258SXin LItype. 5742b15cb3dSCy SchubertBy default, the signature 57509100258SXin LImessage digest type is 57609100258SXin LI.Cm MD5 , 57709100258SXin LIbut any combination of sign key type and 5782b15cb3dSCy Schubertmessage digest type supported by the OpenSSL library can be specified 5792b15cb3dSCy Schubertusing the 5802b15cb3dSCy Schubert.Fl c 5812b15cb3dSCy Schubertoption. 58209100258SXin LI.Pp 5832b15cb3dSCy SchubertThe rules say cryptographic media should be generated with proventic 5842b15cb3dSCy Schubertfilestamps, which means the host should already be synchronized before 5852b15cb3dSCy Schubertthis program is run. 5862b15cb3dSCy SchubertThis of course creates a chicken-and-egg problem 5872b15cb3dSCy Schubertwhen the host is started for the first time. 5882b15cb3dSCy SchubertAccordingly, the host time 5892b15cb3dSCy Schubertshould be set by some other means, such as eyeball-and-wristwatch, at 5902b15cb3dSCy Schubertleast so that the certificate lifetime is within the current year. 5912b15cb3dSCy SchubertAfter that and when the host is synchronized to a proventic source, the 5922b15cb3dSCy Schubertcertificate should be re-generated. 5932b15cb3dSCy Schubert.Pp 5942b15cb3dSCy SchubertAdditional information on trusted groups and identity schemes is on the 5952b15cb3dSCy Schubert.Dq Autokey Public-Key Authentication 5962b15cb3dSCy Schubertpage. 5972b15cb3dSCy Schubert.Pp 5982b15cb3dSCy SchubertFile names begin with the prefix 59909100258SXin LI.Pa ntpkey Ns _ 60009100258SXin LIand end with the suffix 60109100258SXin LI.Pa _ Ns Ar hostname . Ar filestamp , 6022b15cb3dSCy Schubertwhere 6032b15cb3dSCy Schubert.Ar hostname 6042b15cb3dSCy Schubertis the owner name, usually the string returned 60509100258SXin LIby the Unix 60609100258SXin LI.Xr hostname 1 60709100258SXin LIcommand, and 6082b15cb3dSCy Schubert.Ar filestamp 6092b15cb3dSCy Schubertis the NTP seconds when the file was generated, in decimal digits. 6102b15cb3dSCy SchubertThis both guarantees uniqueness and simplifies maintenance 6112b15cb3dSCy Schubertprocedures, since all files can be quickly removed 6122b15cb3dSCy Schubertby a 61309100258SXin LI.Ic rm Pa ntpkey\&* 6142b15cb3dSCy Schubertcommand or all files generated 6152b15cb3dSCy Schubertat a specific time can be removed by a 61609100258SXin LI.Ic rm Pa \&* Ns Ar filestamp 6172b15cb3dSCy Schubertcommand. 6182b15cb3dSCy SchubertTo further reduce the risk of misconfiguration, 6192b15cb3dSCy Schubertthe first two lines of a file contain the file name 6202b15cb3dSCy Schubertand generation date and time as comments. 6212b15cb3dSCy Schubert 62209100258SXin LI.Ss Trusted Hosts and Groups 6232b15cb3dSCy SchubertEach cryptographic configuration involves selection of a signature scheme 6242b15cb3dSCy Schubertand identification scheme, called a cryptotype, 6252b15cb3dSCy Schubertas explained in the 6262b15cb3dSCy Schubert.Sx Authentication Options 6272b15cb3dSCy Schubertsection of 6282b15cb3dSCy Schubert.Xr ntp.conf 5 . 62909100258SXin LIThe default cryptotype uses 63009100258SXin LI.Cm RSA 63109100258SXin LIencryption, 63209100258SXin LI.Cm MD5 63309100258SXin LImessage digest 63409100258SXin LIand 63509100258SXin LI.Cm TC 63609100258SXin LIidentification. 6372b15cb3dSCy SchubertFirst, configure a NTP subnet including one or more low-stratum 6382b15cb3dSCy Schuberttrusted hosts from which all other hosts derive synchronization 6392b15cb3dSCy Schubertdirectly or indirectly. 6402b15cb3dSCy SchubertTrusted hosts have trusted certificates; 6412b15cb3dSCy Schubertall other hosts have nontrusted certificates. 6422b15cb3dSCy SchubertThese hosts will automatically and dynamically build authoritative 6432b15cb3dSCy Schubertcertificate trails to one or more trusted hosts. 6442b15cb3dSCy SchubertA trusted group is the set of all hosts that have, directly or indirectly, 6452b15cb3dSCy Schuberta certificate trail ending at a trusted host. 6462b15cb3dSCy SchubertThe trail is defined by static configuration file entries 6472b15cb3dSCy Schubertor dynamic means described on the 6482b15cb3dSCy Schubert.Sx Automatic NTP Configuration Options 6492b15cb3dSCy Schubertsection of 6502b15cb3dSCy Schubert.Xr ntp.conf 5 . 6512b15cb3dSCy Schubert.Pp 6522b15cb3dSCy SchubertOn each trusted host as root, change to the keys directory. 6532b15cb3dSCy SchubertTo insure a fresh fileset, remove all 65409100258SXin LI.Pa ntpkey 6552b15cb3dSCy Schubertfiles. 6562b15cb3dSCy SchubertThen run 6572b15cb3dSCy Schubert.Nm 6582b15cb3dSCy Schubert.Fl T 6592b15cb3dSCy Schubertto generate keys and a trusted certificate. 6602b15cb3dSCy SchubertOn all other hosts do the same, but leave off the 6612b15cb3dSCy Schubert.Fl T 6622b15cb3dSCy Schubertflag to generate keys and nontrusted certificates. 6632b15cb3dSCy SchubertWhen complete, start the NTP daemons beginning at the lowest stratum 6642b15cb3dSCy Schubertand working up the tree. 6652b15cb3dSCy SchubertIt may take some time for Autokey to instantiate the certificate trails 6662b15cb3dSCy Schubertthroughout the subnet, but setting up the environment is completely automatic. 6672b15cb3dSCy Schubert.Pp 6682b15cb3dSCy SchubertIf it is necessary to use a different sign key or different digest/signature 6692b15cb3dSCy Schubertscheme than the default, run 6702b15cb3dSCy Schubert.Nm 6712b15cb3dSCy Schubertwith the 6722b15cb3dSCy Schubert.Fl S Ar type 6732b15cb3dSCy Schubertoption, where 6742b15cb3dSCy Schubert.Ar type 6752b15cb3dSCy Schubertis either 6762b15cb3dSCy Schubert.Cm RSA 6772b15cb3dSCy Schubertor 6782b15cb3dSCy Schubert.Cm DSA . 67909100258SXin LIThe most frequent need to do this is when a 68009100258SXin LI.Cm DSA Ns -signed 68109100258SXin LIcertificate is used. 6822b15cb3dSCy SchubertIf it is necessary to use a different certificate scheme than the default, 6832b15cb3dSCy Schubertrun 6842b15cb3dSCy Schubert.Nm 6852b15cb3dSCy Schubertwith the 6862b15cb3dSCy Schubert.Fl c Ar scheme 6872b15cb3dSCy Schubertoption and selected 6882b15cb3dSCy Schubert.Ar scheme 6892b15cb3dSCy Schubertas needed. 69009100258SXin LIIf 6912b15cb3dSCy Schubert.Nm 6922b15cb3dSCy Schubertis run again without these options, it generates a new certificate 69309100258SXin LIusing the same scheme and sign key, and soft link. 6942b15cb3dSCy Schubert.Pp 6952b15cb3dSCy SchubertAfter setting up the environment it is advisable to update certificates 6962b15cb3dSCy Schubertfrom time to time, if only to extend the validity interval. 6972b15cb3dSCy SchubertSimply run 6982b15cb3dSCy Schubert.Nm 6992b15cb3dSCy Schubertwith the same flags as before to generate new certificates 70009100258SXin LIusing existing keys, and soft links. 7012b15cb3dSCy SchubertHowever, if the host or sign key is changed, 7022b15cb3dSCy Schubert.Xr ntpd 1ntpdmdoc 7032b15cb3dSCy Schubertshould be restarted. 7042b15cb3dSCy SchubertWhen 7052b15cb3dSCy Schubert.Xr ntpd 1ntpdmdoc 7062b15cb3dSCy Schubertis restarted, it loads any new files and restarts the protocol. 7072b15cb3dSCy SchubertOther dependent hosts will continue as usual until signatures are refreshed, 7082b15cb3dSCy Schubertat which time the protocol is restarted. 70909100258SXin LI 7102b15cb3dSCy Schubert.Ss Identity Schemes 7112b15cb3dSCy SchubertAs mentioned on the Autonomous Authentication page, 71209100258SXin LIthe default 71309100258SXin LI.Cm TC 71409100258SXin LIidentity scheme is vulnerable to a middleman attack. 7152b15cb3dSCy SchubertHowever, there are more secure identity schemes available, 71609100258SXin LIincluding 71709100258SXin LI.Cm PC , IFF , GQ 71809100258SXin LIand 71909100258SXin LI.Cm MV 72009100258SXin LIschemes described below. 7212b15cb3dSCy SchubertThese schemes are based on a TA, one or more trusted hosts 7222b15cb3dSCy Schubertand some number of nontrusted hosts. 7232b15cb3dSCy SchubertTrusted hosts prove identity using values provided by the TA, 7242b15cb3dSCy Schubertwhile the remaining hosts prove identity using values provided 7252b15cb3dSCy Schubertby a trusted host and certificate trails that end on that host. 7262b15cb3dSCy SchubertThe name of a trusted host is also the name of its sugroup 7272b15cb3dSCy Schubertand also the subject and issuer name on its trusted certificate. 7282b15cb3dSCy SchubertThe TA is not necessarily a trusted host in this sense, but often is. 7292b15cb3dSCy Schubert.Pp 7302b15cb3dSCy SchubertIn some schemes there are separate keys for servers and clients. 7312b15cb3dSCy SchubertA server can also be a client of another server, 7322b15cb3dSCy Schubertbut a client can never be a server for another client. 7332b15cb3dSCy SchubertIn general, trusted hosts and nontrusted hosts that operate 7342b15cb3dSCy Schubertas both server and client have parameter files that contain 7352b15cb3dSCy Schubertboth server and client keys. 7362b15cb3dSCy SchubertHosts that operate 7372b15cb3dSCy Schubertonly as clients have key files that contain only client keys. 7382b15cb3dSCy Schubert.Pp 7392b15cb3dSCy SchubertThe PC scheme supports only one trusted host in the group. 7402b15cb3dSCy SchubertOn trusted host alice run 7412b15cb3dSCy Schubert.Nm 7422b15cb3dSCy Schubert.Fl P 7432b15cb3dSCy Schubert.Fl p Ar password 7442b15cb3dSCy Schubertto generate the host key file 74509100258SXin LI.Pa ntpkey Ns _ Cm RSA Pa key_alice. Ar filestamp 7462b15cb3dSCy Schubertand trusted private certificate file 74709100258SXin LI.Pa ntpkey Ns _ Cm RSA-MD5 _ Pa cert_alice. Ar filestamp , 74809100258SXin LIand soft links. 7492b15cb3dSCy SchubertCopy both files to all group hosts; 7502b15cb3dSCy Schubertthey replace the files which would be generated in other schemes. 75109100258SXin LIOn each host 75209100258SXin LI.Ar bob 75309100258SXin LIinstall a soft link from the generic name 7542b15cb3dSCy Schubert.Pa ntpkey_host_ Ns Ar bob 7552b15cb3dSCy Schubertto the host key file and soft link 7562b15cb3dSCy Schubert.Pa ntpkey_cert_ Ns Ar bob 7572b15cb3dSCy Schubertto the private certificate file. 7582b15cb3dSCy SchubertNote the generic links are on bob, but point to files generated 7592b15cb3dSCy Schubertby trusted host alice. 7602b15cb3dSCy SchubertIn this scheme it is not possible to refresh 7612b15cb3dSCy Schuberteither the keys or certificates without copying them 76209100258SXin LIto all other hosts in the group, and recreating the soft links. 7632b15cb3dSCy Schubert.Pp 76409100258SXin LIFor the 76509100258SXin LI.Cm IFF 76609100258SXin LIscheme proceed as in the 76709100258SXin LI.Cm TC 76809100258SXin LIscheme to generate keys 7692b15cb3dSCy Schubertand certificates for all group hosts, then for every trusted host in the group, 77009100258SXin LIgenerate the 77109100258SXin LI.Cm IFF 77209100258SXin LIparameter file. 7732b15cb3dSCy SchubertOn trusted host alice run 7742b15cb3dSCy Schubert.Nm 7752b15cb3dSCy Schubert.Fl T 7762b15cb3dSCy Schubert.Fl I 7772b15cb3dSCy Schubert.Fl p Ar password 7782b15cb3dSCy Schubertto produce her parameter file 77909100258SXin LI.Pa ntpkey_IFFpar_alice. Ns Ar filestamp , 7802b15cb3dSCy Schubertwhich includes both server and client keys. 7812b15cb3dSCy SchubertCopy this file to all group hosts that operate as both servers 7822b15cb3dSCy Schubertand clients and install a soft link from the generic 78309100258SXin LI.Pa ntpkey_iff_alice 7842b15cb3dSCy Schubertto this file. 7852b15cb3dSCy SchubertIf there are no hosts restricted to operate only as clients, 7862b15cb3dSCy Schubertthere is nothing further to do. 78709100258SXin LIAs the 78809100258SXin LI.Cm IFF 78909100258SXin LIscheme is independent 7902b15cb3dSCy Schubertof keys and certificates, these files can be refreshed as needed. 7912b15cb3dSCy Schubert.Pp 7922b15cb3dSCy SchubertIf a rogue client has the parameter file, it could masquerade 7932b15cb3dSCy Schubertas a legitimate server and present a middleman threat. 7942b15cb3dSCy SchubertTo eliminate this threat, the client keys can be extracted 7952b15cb3dSCy Schubertfrom the parameter file and distributed to all restricted clients. 7962b15cb3dSCy SchubertAfter generating the parameter file, on alice run 7972b15cb3dSCy Schubert.Nm 7982b15cb3dSCy Schubert.Fl e 79909100258SXin LIand pipe the output to a file or email program. 80009100258SXin LICopy or email this file to all restricted clients. 8012b15cb3dSCy SchubertOn these clients install a soft link from the generic 80209100258SXin LI.Pa ntpkey_iff_alice 8032b15cb3dSCy Schubertto this file. 8042b15cb3dSCy SchubertTo further protect the integrity of the keys, 8052b15cb3dSCy Schuberteach file can be encrypted with a secret password. 8062b15cb3dSCy Schubert.Pp 80709100258SXin LIFor the 80809100258SXin LI.Cm GQ 80909100258SXin LIscheme proceed as in the 81009100258SXin LI.Cm TC 81109100258SXin LIscheme to generate keys 8122b15cb3dSCy Schubertand certificates for all group hosts, then for every trusted host 81309100258SXin LIin the group, generate the 81409100258SXin LI.Cm IFF 81509100258SXin LIparameter file. 8162b15cb3dSCy SchubertOn trusted host alice run 8172b15cb3dSCy Schubert.Nm 8182b15cb3dSCy Schubert.Fl T 8192b15cb3dSCy Schubert.Fl G 8202b15cb3dSCy Schubert.Fl p Ar password 8212b15cb3dSCy Schubertto produce her parameter file 82209100258SXin LI.Pa ntpkey_GQpar_alice. Ns Ar filestamp , 8232b15cb3dSCy Schubertwhich includes both server and client keys. 8242b15cb3dSCy SchubertCopy this file to all group hosts and install a soft link 8252b15cb3dSCy Schubertfrom the generic 82609100258SXin LI.Pa ntpkey_gq_alice 8272b15cb3dSCy Schubertto this file. 82809100258SXin LIIn addition, on each host 82909100258SXin LI.Ar bob 83009100258SXin LIinstall a soft link 8312b15cb3dSCy Schubertfrom generic 8322b15cb3dSCy Schubert.Pa ntpkey_gq_ Ns Ar bob 8332b15cb3dSCy Schubertto this file. 83409100258SXin LIAs the 83509100258SXin LI.Cm GQ 83609100258SXin LIscheme updates the 83709100258SXin LI.Cm GQ 83809100258SXin LIparameters file and certificate 8392b15cb3dSCy Schubertat the same time, keys and certificates can be regenerated as needed. 8402b15cb3dSCy Schubert.Pp 84109100258SXin LIFor the 84209100258SXin LI.Cm MV 84309100258SXin LIscheme, proceed as in the 84409100258SXin LI.Cm TC 84509100258SXin LIscheme to generate keys 8462b15cb3dSCy Schubertand certificates for all group hosts. 8472b15cb3dSCy SchubertFor illustration assume trish is the TA, alice one of several trusted hosts 8482b15cb3dSCy Schubertand bob one of her clients. 8492b15cb3dSCy SchubertOn TA trish run 8502b15cb3dSCy Schubert.Nm 8512b15cb3dSCy Schubert.Fl V Ar n 8522b15cb3dSCy Schubert.Fl p Ar password , 8532b15cb3dSCy Schubertwhere 8542b15cb3dSCy Schubert.Ar n 8552b15cb3dSCy Schubertis the number of revokable keys (typically 5) to produce 8562b15cb3dSCy Schubertthe parameter file 85709100258SXin LI.Pa ntpkeys_MVpar_trish. Ns Ar filestamp 8582b15cb3dSCy Schubertand client key files 85909100258SXin LI.Pa ntpkeys_MVkey Ns Ar d _ Pa trish. Ar filestamp 8602b15cb3dSCy Schubertwhere 8612b15cb3dSCy Schubert.Ar d 8622b15cb3dSCy Schubertis the key number (0 \&< 8632b15cb3dSCy Schubert.Ar d 8642b15cb3dSCy Schubert\&< 8652b15cb3dSCy Schubert.Ar n ) . 8662b15cb3dSCy SchubertCopy the parameter file to alice and install a soft link 8672b15cb3dSCy Schubertfrom the generic 86809100258SXin LI.Pa ntpkey_mv_alice 8692b15cb3dSCy Schubertto this file. 8702b15cb3dSCy SchubertCopy one of the client key files to alice for later distribution 8712b15cb3dSCy Schubertto her clients. 87209100258SXin LIIt does not matter which client key file goes to alice, 8732b15cb3dSCy Schubertsince they all work the same way. 87409100258SXin LIAlice copies the client key file to all of her clients. 8752b15cb3dSCy SchubertOn client bob install a soft link from generic 87609100258SXin LI.Pa ntpkey_mvkey_bob 8772b15cb3dSCy Schubertto the client key file. 87809100258SXin LIAs the 87909100258SXin LI.Cm MV 88009100258SXin LIscheme is independent of keys and certificates, 8812b15cb3dSCy Schubertthese files can be refreshed as needed. 88209100258SXin LI 8832b15cb3dSCy Schubert.Ss Command Line Options 8842b15cb3dSCy Schubert.Bl -tag -width indent 88509100258SXin LI.It Fl b Fl -imbits Ns = Ar modulus 88609100258SXin LISet the number of bits in the identity modulus for generating identity keys to 88709100258SXin LI.Ar modulus 88809100258SXin LIbits. 88909100258SXin LIThe number of bits in the identity modulus defaults to 256, but can be set to 89009100258SXin LIvalues from 256 to 2048 (32 to 256 octets). 89109100258SXin LIUse the larger moduli with caution, as this can consume considerable computing 89209100258SXin LIresources and increases the size of authenticated packets. 89309100258SXin LI.It Fl c Fl -certificate Ns = Ar scheme 89409100258SXin LISelect certificate signature encryption/message digest scheme. 8952b15cb3dSCy SchubertThe 8962b15cb3dSCy Schubert.Ar scheme 8972b15cb3dSCy Schubertcan be one of the following: 89809100258SXin LI.Cm RSA-MD2 , RSA-MD5 , RSA-MDC2 , RSA-SHA , RSA-SHA1 , RSA-RIPEMD160 , DSA-SHA , 8992b15cb3dSCy Schubertor 9002b15cb3dSCy Schubert.Cm DSA-SHA1 . 90109100258SXin LINote that 90209100258SXin LI.Cm RSA 90309100258SXin LIschemes must be used with an 90409100258SXin LI.Cm RSA 90509100258SXin LIsign key and 90609100258SXin LI.Cm DSA 90709100258SXin LIschemes must be used with a 90809100258SXin LI.Cm DSA 90909100258SXin LIsign key. 9102b15cb3dSCy SchubertThe default without this option is 9112b15cb3dSCy Schubert.Cm RSA-MD5 . 91209100258SXin LIIf compatibility with FIPS 140-2 is required, either the 91309100258SXin LI.Cm DSA-SHA 91409100258SXin LIor 91509100258SXin LI.Cm DSA-SHA1 91609100258SXin LIscheme must be used. 91709100258SXin LI.It Fl C Fl -cipher Ns = Ar cipher 91809100258SXin LISelect the OpenSSL cipher to encrypt the files containing private keys. 91909100258SXin LIThe default without this option is three-key triple DES in CBC mode, 92009100258SXin LI.Cm des-ede3-cbc . 92109100258SXin LIThe 92209100258SXin LI.Ic openssl Fl h 92309100258SXin LIcommand provided with OpenSSL displays available ciphers. 92409100258SXin LI.It Fl d Fl -debug-level 92509100258SXin LIIncrease debugging verbosity level. 9262b15cb3dSCy SchubertThis option displays the cryptographic data produced in eye-friendly billboards. 92709100258SXin LI.It Fl D Fl -set-debug-level Ns = Ar level 92809100258SXin LISet the debugging verbosity to 92909100258SXin LI.Ar level . 93009100258SXin LIThis option displays the cryptographic data produced in eye-friendly billboards. 93109100258SXin LI.It Fl e Fl -id-key 93209100258SXin LIWrite the 93309100258SXin LI.Cm IFF 93409100258SXin LIor 93509100258SXin LI.Cm GQ 93609100258SXin LIpublic parameters from the 93709100258SXin LI.Ar IFFkey or GQkey 93809100258SXin LIclient keys file previously specified 93909100258SXin LIas unencrypted data to the standard output stream 94009100258SXin LI.Pa stdout . 94109100258SXin LIThis is intended for automatic key distribution by email. 94209100258SXin LI.It Fl G Fl -gq-params 94309100258SXin LIGenerate a new encrypted 94409100258SXin LI.Cm GQ 94509100258SXin LIparameters and key file for the Guillou-Quisquater (GQ) identity scheme. 94609100258SXin LIThis option is mutually exclusive with the 94709100258SXin LI.Fl I 94809100258SXin LIand 94909100258SXin LI.Fl V 95009100258SXin LIoptions. 95109100258SXin LI.It Fl H Fl -host-key 95209100258SXin LIGenerate a new encrypted 95309100258SXin LI.Cm RSA 95409100258SXin LIpublic/private host key file. 95509100258SXin LI.It Fl I Fl -iffkey 95609100258SXin LIGenerate a new encrypted 95709100258SXin LI.Cm IFF 95809100258SXin LIkey file for the Schnorr (IFF) identity scheme. 95909100258SXin LIThis option is mutually exclusive with the 96009100258SXin LI.Fl G 96109100258SXin LIand 96209100258SXin LIFl V 96309100258SXin LIoptions. 96409100258SXin LI.It Fl i Fl -ident Ns = Ar group 96509100258SXin LISet the optional Autokey group name to 96609100258SXin LI.Ar group . 96709100258SXin LIThis is used in the identity scheme parameter file names of 96809100258SXin LI.Cm IFF , GQ , 96909100258SXin LIand 97009100258SXin LI.Cm MV 97109100258SXin LIclient parameters files. 97209100258SXin LIIn that role, the default is the host name if no group is provided. 97309100258SXin LIThe group name, if specified using 97409100258SXin LI.Fl i 97509100258SXin LIor 97609100258SXin LI.Fl s 97709100258SXin LIfollowing an 97809100258SXin LI.Ql @@ 97909100258SXin LIcharacter, is also used in certificate subject and issuer names in the form 98009100258SXin LI.Ar host @@ group 98109100258SXin LIand should match the group specified via 98209100258SXin LI.Ic crypto Cm ident 98309100258SXin LIor 98409100258SXin LI.Ic server Cm ident 98509100258SXin LIin the ntpd configuration file. 98609100258SXin LI.It Fl l Fl -lifetime Ns = Ar days 98709100258SXin LISet the lifetime for certificate expiration to 98809100258SXin LI.Ar days . 98909100258SXin LIThe default lifetime is one year (365 days). 99009100258SXin LI.It Fl m Fl -modulus Ns = Ar bits 99109100258SXin LISet the number of bits in the prime modulus for generating files to 99209100258SXin LI.Ar bits . 99309100258SXin LIThe modulus defaults to 512, but can be set from 256 to 2048 (32 to 256 octets). 99409100258SXin LIUse the larger moduli with caution, as this can consume considerable computing 99509100258SXin LIresources and increases the size of authenticated packets. 99609100258SXin LI.It Fl M Fl -md5key 99709100258SXin LIGenerate a new symmetric keys file containing 10 99809100258SXin LI.Cm MD5 99909100258SXin LIkeys, and if OpenSSL is available, 10 100009100258SXin LI.Cm SHA 100109100258SXin LIkeys. 100209100258SXin LIAn 100309100258SXin LI.Cm MD5 100409100258SXin LIkey is a string of 20 random printable ASCII characters, while a 100509100258SXin LI.Cm SHA 100609100258SXin LIkey is a string of 40 random hex digits. 100709100258SXin LIThe file can be edited using a text editor to change the key type or key content. 100809100258SXin LIThis option is mutually exclusive with all other options. 100909100258SXin LI.It Fl p Fl -password Ns = Ar passwd 101009100258SXin LISet the password for reading and writing encrypted files to 101109100258SXin LI.Ar passwd . 101209100258SXin LIThese include the host, sign and identify key files. 101309100258SXin LIBy default, the password is the string returned by the Unix 101409100258SXin LI.Ic hostname 101509100258SXin LIcommand. 101609100258SXin LI.It Fl P Fl -pvt-cert 101709100258SXin LIGenerate a new private certificate used by the 101809100258SXin LI.Cm PC 101909100258SXin LIidentity scheme. 10202b15cb3dSCy SchubertBy default, the program generates public certificates. 102109100258SXin LINote: the PC identity scheme is not recommended for new installations. 102209100258SXin LI.It Fl q Fl -export-passwd Ns = Ar passwd 102309100258SXin LISet the password for writing encrypted 102409100258SXin LI.Cm IFF , GQ and MV 102509100258SXin LIidentity files redirected to 102609100258SXin LI.Pa stdout 102709100258SXin LIto 102809100258SXin LI.Ar passwd . 102909100258SXin LIIn effect, these files are decrypted with the 103009100258SXin LI.Fl p 103109100258SXin LIpassword, then encrypted with the 103209100258SXin LI.Fl q 103309100258SXin LIpassword. 103409100258SXin LIBy default, the password is the string returned by the Unix 103509100258SXin LI.Ic hostname 103609100258SXin LIcommand. 103709100258SXin LI.It Fl s Fl -subject-key Ns = Ar Oo host Oc Op @@ Ar group 103809100258SXin LISpecify the Autokey host name, where 103909100258SXin LI.Ar host 104009100258SXin LIis the optional host name and 104109100258SXin LI.Ar group 104209100258SXin LIis the optional group name. 104309100258SXin LIThe host name, and if provided, group name are used in 104409100258SXin LI.Ar host @@ group 104509100258SXin LIform as certificate subject and issuer. 104609100258SXin LISpecifying 104709100258SXin LI.Fl s @@ Ar group 104809100258SXin LIis allowed, and results in leaving the host name unchanged, as with 104909100258SXin LI.Fl i Ar group . 105009100258SXin LIThe group name, or if no group is provided, the host name are also used in the 105109100258SXin LIfile names of 105209100258SXin LI.Cm IFF , GQ , 105309100258SXin LIand 105409100258SXin LI.Cm MV 105509100258SXin LIidentity scheme client parameter files. 105609100258SXin LIIf 105709100258SXin LI.Ar host 105809100258SXin LIis not specified, the default host name is the string returned by the Unix 105909100258SXin LI.Ic hostname 106009100258SXin LIcommand. 106109100258SXin LI.It Fl S Fl -sign-key Ns = Op Cm RSA | DSA 106209100258SXin LIGenerate a new encrypted public/private sign key file of the specified type. 106309100258SXin LIBy default, the sign key is the host key and has the same type. 106409100258SXin LIIf compatibility with FIPS 140-2 is required, the sign key type must be 106509100258SXin LI.Cm DSA . 106609100258SXin LI.It Fl T Fl -trusted-cert 10672b15cb3dSCy SchubertGenerate a trusted certificate. 10682b15cb3dSCy SchubertBy default, the program generates a non-trusted certificate. 106909100258SXin LI.It Fl V Fl -mv-params Ar nkeys 107009100258SXin LIGenerate 107109100258SXin LI.Ar nkeys 107209100258SXin LIencrypted server keys and parameters for the Mu-Varadharajan (MV) 107309100258SXin LIidentity scheme. 107409100258SXin LIThis option is mutually exclusive with the 107509100258SXin LI.Fl I 107609100258SXin LIand 107709100258SXin LI.Fl G 107809100258SXin LIoptions. 107909100258SXin LINote: support for this option should be considered a work in progress. 10802b15cb3dSCy Schubert.El 108109100258SXin LI 10822b15cb3dSCy Schubert.Ss Random Seed File 10832b15cb3dSCy SchubertAll cryptographically sound key generation schemes must have means 10842b15cb3dSCy Schubertto randomize the entropy seed used to initialize 10852b15cb3dSCy Schubertthe internal pseudo-random number generator used 10862b15cb3dSCy Schubertby the library routines. 10872b15cb3dSCy SchubertThe OpenSSL library uses a designated random seed file for this purpose. 10882b15cb3dSCy SchubertThe file must be available when starting the NTP daemon and 10892b15cb3dSCy Schubert.Nm 10902b15cb3dSCy Schubertprogram. 10912b15cb3dSCy SchubertIf a site supports OpenSSL or its companion OpenSSH, 10922b15cb3dSCy Schubertit is very likely that means to do this are already available. 10932b15cb3dSCy Schubert.Pp 10942b15cb3dSCy SchubertIt is important to understand that entropy must be evolved 10952b15cb3dSCy Schubertfor each generation, for otherwise the random number sequence 10962b15cb3dSCy Schubertwould be predictable. 10972b15cb3dSCy SchubertVarious means dependent on external events, such as keystroke intervals, 10982b15cb3dSCy Schubertcan be used to do this and some systems have built-in entropy sources. 10992b15cb3dSCy SchubertSuitable means are described in the OpenSSL software documentation, 11002b15cb3dSCy Schubertbut are outside the scope of this page. 11012b15cb3dSCy Schubert.Pp 11022b15cb3dSCy SchubertThe entropy seed used by the OpenSSL library is contained in a file, 11032b15cb3dSCy Schubertusually called 110409100258SXin LI.Pa .rnd , 11052b15cb3dSCy Schubertwhich must be available when starting the NTP daemon 11062b15cb3dSCy Schubertor the 11072b15cb3dSCy Schubert.Nm 11082b15cb3dSCy Schubertprogram. 11092b15cb3dSCy SchubertThe NTP daemon will first look for the file 11102b15cb3dSCy Schubertusing the path specified by the 111109100258SXin LI.Cm randfile 11122b15cb3dSCy Schubertsubcommand of the 11132b15cb3dSCy Schubert.Ic crypto 11142b15cb3dSCy Schubertconfiguration command. 11152b15cb3dSCy SchubertIf not specified in this way, or when starting the 11162b15cb3dSCy Schubert.Nm 11172b15cb3dSCy Schubertprogram, 11182b15cb3dSCy Schubertthe OpenSSL library will look for the file using the path specified 11192b15cb3dSCy Schubertby the 11202b15cb3dSCy Schubert.Ev RANDFILE 11212b15cb3dSCy Schubertenvironment variable in the user home directory, 11222b15cb3dSCy Schubertwhether root or some other user. 11232b15cb3dSCy SchubertIf the 11242b15cb3dSCy Schubert.Ev RANDFILE 11252b15cb3dSCy Schubertenvironment variable is not present, 11262b15cb3dSCy Schubertthe library will look for the 112709100258SXin LI.Pa .rnd 11282b15cb3dSCy Schubertfile in the user home directory. 112909100258SXin LISince both the 113009100258SXin LI.Nm 113109100258SXin LIprogram and 113209100258SXin LI.Xr ntpd 1ntpdmdoc 113309100258SXin LIdaemon must run as root, the logical place to put this file is in 113409100258SXin LI.Pa /.rnd 113509100258SXin LIor 113609100258SXin LI.Pa /root/.rnd . 11372b15cb3dSCy SchubertIf the file is not available or cannot be written, 11382b15cb3dSCy Schubertthe daemon exits with a message to the system log and the program 11392b15cb3dSCy Schubertexits with a suitable error message. 114009100258SXin LI 11412b15cb3dSCy Schubert.Ss Cryptographic Data Files 114209100258SXin LIAll file formats begin with two nonencrypted lines. 114309100258SXin LIThe first line contains the file name, including the generated host name 114409100258SXin LIand filestamp, in the format 114509100258SXin LI.Pa ntpkey_ Ns Ar key _ Ar name . Ar filestamp , 114609100258SXin LIwhere 114709100258SXin LI.Ar key 114809100258SXin LIis the key or parameter type, 114909100258SXin LI.Ar name 115009100258SXin LIis the host or group name and 115109100258SXin LI.Ar filestamp 115209100258SXin LIis the filestamp (NTP seconds) when the file was created. 115309100258SXin LIBy convention, 115409100258SXin LI.Ar key 115509100258SXin LInames in generated file names include both upper and lower case 115609100258SXin LIcharacters, while 115709100258SXin LI.Ar key 115809100258SXin LInames in generated link names include only lower case characters. 115909100258SXin LIThe filestamp is not used in generated link names. 116009100258SXin LIThe second line contains the datestamp in conventional Unix 116109100258SXin LI.Pa date 116209100258SXin LIformat. 116309100258SXin LILines beginning with 116409100258SXin LI.Ql # 116509100258SXin LIare considered comments and ignored by the 11662b15cb3dSCy Schubert.Nm 11672b15cb3dSCy Schubertprogram and 11682b15cb3dSCy Schubert.Xr ntpd 1ntpdmdoc 11692b15cb3dSCy Schubertdaemon. 11702b15cb3dSCy Schubert.Pp 117109100258SXin LIThe remainder of the file contains cryptographic data, encoded first using ASN.1 117209100258SXin LIrules, then encrypted if necessary, and finally written in PEM-encoded 117309100258SXin LIprintable ASCII text, preceded and followed by MIME content identifier lines. 117409100258SXin LI.Pp 117509100258SXin LIThe format of the symmetric keys file, ordinarily named 117609100258SXin LI.Pa ntp.keys , 117709100258SXin LIis somewhat different than the other files in the interest of backward compatibility. 117809100258SXin LIOrdinarily, the file is generated by this program, but it can be constructed 117909100258SXin LIand edited using an ordinary text editor. 118009100258SXin LI.Bd -literal -unfilled -offset center 118109100258SXin LI# ntpkey_MD5key_bk.ntp.org.3595864945 118209100258SXin LI# Thu Dec 12 19:22:25 2013 118309100258SXin LI 118409100258SXin LI1 MD5 L";Nw<\`.I<f4U0)247"i # MD5 key 118509100258SXin LI2 MD5 &>l0%XXK9O'51VwV<xq~ # MD5 key 118609100258SXin LI3 MD5 lb4zLW~d^!K:]RsD'qb6 # MD5 key 118709100258SXin LI4 MD5 Yue:tL[+vR)M\`n~bY,'? # MD5 key 118809100258SXin LI5 MD5 B;fx'Kgr/&4ZTbL6=RxA # MD5 key 118909100258SXin LI6 MD5 4eYwa\`o@}3i@@@@V@@..R9!l # MD5 key 119009100258SXin LI7 MD5 \`A.([h+;wTQ|xfi%Sn_! # MD5 key 119109100258SXin LI8 MD5 45:V,r4]l6y^JH6"Sh?F # MD5 key 119209100258SXin LI9 MD5 3-5vcn*6l29DS?Xdsg)* # MD5 key 119309100258SXin LI10 MD5 2late4Me # MD5 key 119409100258SXin LI11 SHA1 a27872d3030a9025b8446c751b4551a7629af65c # SHA1 key 119509100258SXin LI12 SHA1 21bc3b4865dbb9e920902abdccb3e04ff97a5e74 # SHA1 key 119609100258SXin LI13 SHA1 2b7736fe24fef5ba85ae11594132ab5d6f6daba9 # SHA1 key 119709100258SXin LI14 SHA a5332809c8878dd3a5b918819108a111509aeceb # SHA key 119809100258SXin LI15 MD2 2fe16c88c760ff2f16d4267e36c1aa6c926e6964 # MD2 key 119909100258SXin LI16 MD4 b2691811dc19cfc0e2f9bcacd74213f29812183d # MD4 key 120009100258SXin LI17 MD5 e4d6735b8bdad58ec5ffcb087300a17f7fef1f7c # MD5 key 120109100258SXin LI18 MDC2 a8d5e2315c025bf3a79174c87fbd10477de2eabc # MDC2 key 120209100258SXin LI19 RIPEMD160 77ca332cafb30e3cafb174dcd5b80ded7ba9b3d2 # RIPEMD160 key 120309100258SXin LI20 AES128CMAC f92ff73eee86c1e7dc638d6489a04e4e555af878 # AES128CMAC key 120409100258SXin LI.Ed 120509100258SXin LI.D1 Figure 1. Typical Symmetric Key File 120609100258SXin LI.Pp 120709100258SXin LIFigure 1 shows a typical symmetric keys file used by the reference 120809100258SXin LIimplementation. 120909100258SXin LIFollowing the header the keys are entered one per line in the format 121009100258SXin LI.D1 Ar keyno Ar type Ar key 12112b15cb3dSCy Schubertwhere 12122b15cb3dSCy Schubert.Ar keyno 12134e1ef62aSXin LIis a positive integer in the range 1-65535; 12142b15cb3dSCy Schubert.Ar type 121509100258SXin LIis the key type for the message digest algorithm, which in the absence of the 121609100258SXin LIOpenSSL library must be 121709100258SXin LI.Cm MD5 121809100258SXin LIto designate the MD5 message digest algorithm; 121909100258SXin LIif the OpenSSL library is installed, the key type can be any 122009100258SXin LImessage digest algorithm supported by that library; 122109100258SXin LIhowever, if compatibility with FIPS 140-2 is required, 122209100258SXin LIthe key type must be either 122309100258SXin LI.Cm SHA 122409100258SXin LIor 122509100258SXin LI.Cm SHA1 ; 12262b15cb3dSCy Schubert.Ar key 12272b15cb3dSCy Schubertis the key itself, 122809100258SXin LIwhich is a printable ASCII string 20 characters or less in length: 122909100258SXin LIeach character is chosen from the 93 printable characters 123009100258SXin LIin the range 0x21 through 0x7e ( 123109100258SXin LI.Ql ! 123209100258SXin LIthrough 123309100258SXin LI.Ql ~ 123409100258SXin LI\&) excluding space and the 123509100258SXin LI.Ql # 123609100258SXin LIcharacter, and terminated by whitespace or a 12372b15cb3dSCy Schubert.Ql # 12382b15cb3dSCy Schubertcharacter. 123909100258SXin LIAn OpenSSL key consists of a hex-encoded ASCII string of 40 characters, which 124009100258SXin LIis truncated as necessary. 12412b15cb3dSCy Schubert.Pp 12422b15cb3dSCy SchubertNote that the keys used by the 12432b15cb3dSCy Schubert.Xr ntpq 1ntpqmdoc 12442b15cb3dSCy Schubertand 12452b15cb3dSCy Schubert.Xr ntpdc 1ntpdcmdoc 12462b15cb3dSCy Schubertprograms 12472b15cb3dSCy Schubertare checked against passwords requested by the programs 12482b15cb3dSCy Schubertand entered by hand, so it is generally appropriate to specify these keys 12492b15cb3dSCy Schubertin human readable ASCII format. 12502b15cb3dSCy Schubert.Pp 12512b15cb3dSCy SchubertThe 12522b15cb3dSCy Schubert.Nm 125309100258SXin LIprogram generates a symmetric keys file 125409100258SXin LI.Pa ntpkey_MD5key_ Ns Ar hostname Ns . Ns Ar filestamp . 12552b15cb3dSCy SchubertSince the file contains private shared keys, 12562b15cb3dSCy Schubertit should be visible only to root and distributed by secure means 12572b15cb3dSCy Schubertto other subnet hosts. 12582b15cb3dSCy SchubertThe NTP daemon loads the file 12592b15cb3dSCy Schubert.Pa ntp.keys , 12602b15cb3dSCy Schubertso 12612b15cb3dSCy Schubert.Nm 12622b15cb3dSCy Schubertinstalls a soft link from this name to the generated file. 12632b15cb3dSCy SchubertSubsequently, similar soft links must be installed by manual 12642b15cb3dSCy Schubertor automated means on the other subnet hosts. 12652b15cb3dSCy SchubertWhile this file is not used with the Autokey Version 2 protocol, 12662b15cb3dSCy Schubertit is needed to authenticate some remote configuration commands 12672b15cb3dSCy Schubertused by the 12682b15cb3dSCy Schubert.Xr ntpq 1ntpqmdoc 12692b15cb3dSCy Schubertand 12702b15cb3dSCy Schubert.Xr ntpdc 1ntpdcmdoc 12712b15cb3dSCy Schubertutilities. 12722b15cb3dSCy Schubert _END_PROG_MDOC_DESCRIP; 12732b15cb3dSCy Schubert}; 12742b15cb3dSCy Schubert 12752b15cb3dSCy Schubertdoc-section = { 12762b15cb3dSCy Schubert ds-type = 'USAGE'; 12772b15cb3dSCy Schubert ds-format = 'mdoc'; 12782b15cb3dSCy Schubert ds-text = <<- _END_MDOC_USAGE 12792b15cb3dSCy Schubert _END_MDOC_USAGE; 12802b15cb3dSCy Schubert}; 12812b15cb3dSCy Schubert 12822b15cb3dSCy Schubertdoc-section = { 12832b15cb3dSCy Schubert ds-type = 'NOTES'; 12842b15cb3dSCy Schubert ds-format = 'mdoc'; 12852b15cb3dSCy Schubert ds-text = <<- _END_MDOC_NOTES 12862b15cb3dSCy SchubertPortions of this document came from FreeBSD. 12872b15cb3dSCy Schubert _END_MDOC_NOTES; 12882b15cb3dSCy Schubert}; 12892b15cb3dSCy Schubert 12902b15cb3dSCy Schubertdoc-section = { 12912b15cb3dSCy Schubert ds-type = 'BUGS'; 12922b15cb3dSCy Schubert ds-format = 'mdoc'; 12932b15cb3dSCy Schubert ds-text = <<- _END_MDOC_BUGS 129409100258SXin LIIt can take quite a while to generate some cryptographic values. 12952b15cb3dSCy Schubert.Pp 12962b15cb3dSCy SchubertPlease report bugs to http://bugs.ntp.org . 12972b15cb3dSCy Schubert _END_MDOC_BUGS; 12982b15cb3dSCy Schubert}; 1299