]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/ntp/util/ntp-keygen.man.in
Fix ntp multiple vulnerabilities.
[FreeBSD/releng/10.2.git] / contrib / ntp / util / ntp-keygen.man.in
1 .de1 NOP
2 .  it 1 an-trap
3 .  if \\n[.$] \,\\$*\/
4 ..
5 .ie t \
6 .ds B-Font [CB]
7 .ds I-Font [CI]
8 .ds R-Font [CR]
9 .el \
10 .ds B-Font B
11 .ds I-Font I
12 .ds R-Font R
13 .TH ntp-keygen @NTP_KEYGEN_MS@ "26 Apr 2016" "ntp (4.2.8p7)" "User Commands"
14 .\"
15 .\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-FRa4eL/ag-RRaWdL)
16 .\"
17 .\" It has been AutoGen-ed April 26, 2016 at 08:30:15 PM by AutoGen 5.18.5
18 .\" From the definitions ntp-keygen-opts.def
19 .\" and the template file agman-cmd.tpl
20 .SH NAME
21 \f\*[B-Font]ntp-keygen\fP
22 \- Create a NTP host key
23 .SH SYNOPSIS
24 \f\*[B-Font]ntp-keygen\fP
25 .\" Mixture of short (flag) options and long options
26 [\f\*[B-Font]\-flags\f[]]
27 [\f\*[B-Font]\-flag\f[] [\f\*[I-Font]value\f[]]]
28 [\f\*[B-Font]\-\-option-name\f[][[=| ]\f\*[I-Font]value\f[]]]
29 .sp \n(Ppu
30 .ne 2
31
32 All arguments must be options.
33 .sp \n(Ppu
34 .ne 2
35
36 .SH DESCRIPTION
37 This program generates cryptographic data files used by the NTPv4
38 authentication and identification schemes.
39 It generates MD5 key files used in symmetric key cryptography.
40 In addition, if the OpenSSL software library has been installed,
41 it generates keys, certificate and identity files used in public key
42 cryptography.
43 These files are used for cookie encryption,
44 digital signature and challenge/response identification algorithms
45 compatible with the Internet standard security infrastructure.
46 .sp \n(Ppu
47 .ne 2
48
49 All files are in PEM-encoded printable ASCII format,
50 so they can be embedded as MIME attachments in mail to other sites
51 and certificate authorities.
52 By default, files are not encrypted.
53 .sp \n(Ppu
54 .ne 2
55
56 When used to generate message digest keys, the program produces a file
57 containing ten pseudo-random printable ASCII strings suitable for the
58 MD5 message digest algorithm included in the distribution.
59 If the OpenSSL library is installed, it produces an additional ten
60 hex-encoded random bit strings suitable for the SHA1 and other message
61 digest algorithms.
62 The message digest keys file must be distributed and stored
63 using secure means beyond the scope of NTP itself.
64 Besides the keys used for ordinary NTP associations, additional keys
65 can be defined as passwords for the
66 \fCntpq\f[]\fR(@NTPQ_MS@)\f[]
67 and
68 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
69 utility programs.
70 .sp \n(Ppu
71 .ne 2
72
73 The remaining generated files are compatible with other OpenSSL
74 applications and other Public Key Infrastructure (PKI) resources.
75 Certificates generated by this program are compatible with extant
76 industry practice, although some users might find the interpretation of
77 X509v3 extension fields somewhat liberal.
78 However, the identity keys are probably not compatible with anything
79 other than Autokey.
80 .sp \n(Ppu
81 .ne 2
82
83 Some files used by this program are encrypted using a private password.
84 The
85 \f\*[B-Font]\-p\f[]
86 option specifies the password for local encrypted files and the
87 \f\*[B-Font]\-q\f[]
88 option the password for encrypted files sent to remote sites.
89 If no password is specified, the host name returned by the Unix
90 \fBgethostname\f[]\fR()\f[]
91 function, normally the DNS name of the host is used.
92 .sp \n(Ppu
93 .ne 2
94
95 The
96 \f\*[I-Font]pw\f[]
97 option of the
98 \f\*[I-Font]crypto\f[]
99 configuration command specifies the read
100 password for previously encrypted local files.
101 This must match the local password used by this program.
102 If not specified, the host name is used.
103 Thus, if files are generated by this program without password,
104 they can be read back by
105 \f\*[I-Font]ntpd\f[]
106 without password but only on the same host.
107 .sp \n(Ppu
108 .ne 2
109
110 Normally, encrypted files for each host are generated by that host and
111 used only by that host, although exceptions exist as noted later on
112 this page.
113 The symmetric keys file, normally called
114 \f\*[I-Font]ntp.keys\f[],
115 is usually installed in
116 \fI/etc\f[].
117 Other files and links are usually installed in
118 \fI/usr/local/etc\f[],
119 which is normally in a shared filesystem in
120 NFS-mounted networks and cannot be changed by shared clients.
121 The location of the keys directory can be changed by the
122 \f\*[I-Font]keysdir\f[]
123 configuration command in such cases.
124 Normally, this is in
125 \fI/etc\f[].
126 .sp \n(Ppu
127 .ne 2
128
129 This program directs commentary and error messages to the standard
130 error stream
131 \f\*[I-Font]stderr\f[]
132 and remote files to the standard output stream
133 \f\*[I-Font]stdout\f[]
134 where they can be piped to other applications or redirected to files.
135 The names used for generated files and links all begin with the
136 string
137 \f\*[I-Font]ntpkey\f[]
138 and include the file type, generating host and filestamp,
139 as described in the
140 \*[Lq]Cryptographic Data Files\*[Rq]
141 section below.
142 .SS Running the Program
143 To test and gain experience with Autokey concepts, log in as root and
144 change to the keys directory, usually
145 \fI/usr/local/etc\f[]
146 When run for the first time, or if all files with names beginning with
147 \f\*[I-Font]ntpkey\f[]
148 have been removed, use the
149 \f\*[B-Font]ntp-keygen\fP
150 command without arguments to generate a
151 default RSA host key and matching RSA-MD5 certificate with expiration
152 date one year hence.
153 If run again without options, the program uses the
154 existing keys and parameters and generates only a new certificate with
155 new expiration date one year hence.
156 .sp \n(Ppu
157 .ne 2
158
159 Run the command on as many hosts as necessary.
160 Designate one of them as the trusted host (TH) using
161 \f\*[B-Font]ntp-keygen\fP
162 with the
163 \f\*[B-Font]\-T\f[]
164 option and configure it to synchronize from reliable Internet servers.
165 Then configure the other hosts to synchronize to the TH directly or
166 indirectly.
167 A certificate trail is created when Autokey asks the immediately
168 ascendant host towards the TH to sign its certificate, which is then
169 provided to the immediately descendant host on request.
170 All group hosts should have acyclic certificate trails ending on the TH.
171 .sp \n(Ppu
172 .ne 2
173
174 The host key is used to encrypt the cookie when required and so must be
175 RSA type.
176 By default, the host key is also the sign key used to encrypt
177 signatures.
178 A different sign key can be assigned using the
179 \f\*[B-Font]\-S\f[]
180 option and this can be either RSA or DSA type.
181 By default, the signature
182 message digest type is MD5, but any combination of sign key type and
183 message digest type supported by the OpenSSL library can be specified
184 using the
185 \f\*[B-Font]\-c\f[]
186 option.
187 The rules say cryptographic media should be generated with proventic
188 filestamps, which means the host should already be synchronized before
189 this program is run.
190 This of course creates a chicken-and-egg problem
191 when the host is started for the first time.
192 Accordingly, the host time
193 should be set by some other means, such as eyeball-and-wristwatch, at
194 least so that the certificate lifetime is within the current year.
195 After that and when the host is synchronized to a proventic source, the
196 certificate should be re-generated.
197 .sp \n(Ppu
198 .ne 2
199
200 Additional information on trusted groups and identity schemes is on the
201 \*[Lq]Autokey Public-Key Authentication\*[Rq]
202 page.
203 .sp \n(Ppu
204 .ne 2
205
206 The
207 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
208 configuration command
209 \f\*[B-Font]crypto\f[] \f\*[B-Font]pw\f[] \f\*[I-Font]password\f[]
210 specifies the read password for previously encrypted files.
211 The daemon expires on the spot if the password is missing
212 or incorrect.
213 For convenience, if a file has been previously encrypted,
214 the default read password is the name of the host running
215 the program.
216 If the previous write password is specified as the host name,
217 these files can be read by that host with no explicit password.
218 .sp \n(Ppu
219 .ne 2
220
221 File names begin with the prefix
222 \f\*[B-Font]ntpkey_\f[]
223 and end with the postfix
224 \f\*[I-Font]_hostname.filestamp\f[],
225 where
226 \f\*[I-Font]hostname\f[]
227 is the owner name, usually the string returned
228 by the Unix gethostname() routine, and
229 \f\*[I-Font]filestamp\f[]
230 is the NTP seconds when the file was generated, in decimal digits.
231 This both guarantees uniqueness and simplifies maintenance
232 procedures, since all files can be quickly removed
233 by a
234 \f\*[B-Font]rm\f[] \f\*[B-Font]ntpkey\&*\f[]
235 command or all files generated
236 at a specific time can be removed by a
237 \f\*[B-Font]rm\f[]
238 \f\*[I-Font]\&*filestamp\f[]
239 command.
240 To further reduce the risk of misconfiguration,
241 the first two lines of a file contain the file name
242 and generation date and time as comments.
243 .sp \n(Ppu
244 .ne 2
245
246 All files are installed by default in the keys directory
247 \fI/usr/local/etc\f[],
248 which is normally in a shared filesystem
249 in NFS-mounted networks.
250 The actual location of the keys directory
251 and each file can be overridden by configuration commands,
252 but this is not recommended.
253 Normally, the files for each host are generated by that host
254 and used only by that host, although exceptions exist
255 as noted later on this page.
256 .sp \n(Ppu
257 .ne 2
258
259 Normally, files containing private values,
260 including the host key, sign key and identification parameters,
261 are permitted root read/write-only;
262 while others containing public values are permitted world readable.
263 Alternatively, files containing private values can be encrypted
264 and these files permitted world readable,
265 which simplifies maintenance in shared file systems.
266 Since uniqueness is insured by the hostname and
267 file name extensions, the files for a NFS server and
268 dependent clients can all be installed in the same shared directory.
269 .sp \n(Ppu
270 .ne 2
271
272 The recommended practice is to keep the file name extensions
273 when installing a file and to install a soft link
274 from the generic names specified elsewhere on this page
275 to the generated files.
276 This allows new file generations to be activated simply
277 by changing the link.
278 If a link is present, ntpd follows it to the file name
279 to extract the filestamp.
280 If a link is not present,
281 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
282 extracts the filestamp from the file itself.
283 This allows clients to verify that the file and generation times
284 are always current.
285 The
286 \f\*[B-Font]ntp-keygen\fP
287 program uses the same timestamp extension for all files generated
288 at one time, so each generation is distinct and can be readily
289 recognized in monitoring data.
290 .SS Running the program
291 The safest way to run the
292 \f\*[B-Font]ntp-keygen\fP
293 program is logged in directly as root.
294 The recommended procedure is change to the keys directory,
295 usually
296 \fI/usr/local/etc\f[],
297 then run the program.
298 When run for the first time,
299 or if all
300 \f\*[B-Font]ntpkey\f[]
301 files have been removed,
302 the program generates a RSA host key file and matching RSA-MD5 certificate file,
303 which is all that is necessary in many cases.
304 The program also generates soft links from the generic names
305 to the respective files.
306 If run again, the program uses the same host key file,
307 but generates a new certificate file and link.
308 .sp \n(Ppu
309 .ne 2
310
311 The host key is used to encrypt the cookie when required and so must be RSA type.
312 By default, the host key is also the sign key used to encrypt signatures.
313 When necessary, a different sign key can be specified and this can be
314 either RSA or DSA type.
315 By default, the message digest type is MD5, but any combination
316 of sign key type and message digest type supported by the OpenSSL library
317 can be specified, including those using the MD2, MD5, SHA, SHA1, MDC2
318 and RIPE160 message digest algorithms.
319 However, the scheme specified in the certificate must be compatible
320 with the sign key.
321 Certificates using any digest algorithm are compatible with RSA sign keys;
322 however, only SHA and SHA1 certificates are compatible with DSA sign keys.
323 .sp \n(Ppu
324 .ne 2
325
326 Private/public key files and certificates are compatible with
327 other OpenSSL applications and very likely other libraries as well.
328 Certificates or certificate requests derived from them should be compatible
329 with extant industry practice, although some users might find
330 the interpretation of X509v3 extension fields somewhat liberal.
331 However, the identification parameter files, although encoded
332 as the other files, are probably not compatible with anything other than Autokey.
333 .sp \n(Ppu
334 .ne 2
335
336 Running the program as other than root and using the Unix
337 \f\*[B-Font]su\f[]
338 command
339 to assume root may not work properly, since by default the OpenSSL library
340 looks for the random seed file
341 \f\*[B-Font].rnd\f[]
342 in the user home directory.
343 However, there should be only one
344 \f\*[B-Font].rnd\f[],
345 most conveniently
346 in the root directory, so it is convenient to define the
347 \f\*[B-Font]$RANDFILE\f[]
348 environment variable used by the OpenSSL library as the path to
349 \f\*[B-Font]/.rnd\f[].
350 .sp \n(Ppu
351 .ne 2
352
353 Installing the keys as root might not work in NFS-mounted
354 shared file systems, as NFS clients may not be able to write
355 to the shared keys directory, even as root.
356 In this case, NFS clients can specify the files in another
357 directory such as
358 \fI/etc\f[]
359 using the
360 \f\*[B-Font]keysdir\f[]
361 command.
362 There is no need for one client to read the keys and certificates
363 of other clients or servers, as these data are obtained automatically
364 by the Autokey protocol.
365 .sp \n(Ppu
366 .ne 2
367
368 Ordinarily, cryptographic files are generated by the host that uses them,
369 but it is possible for a trusted agent (TA) to generate these files
370 for other hosts; however, in such cases files should always be encrypted.
371 The subject name and trusted name default to the hostname
372 of the host generating the files, but can be changed by command line options.
373 It is convenient to designate the owner name and trusted name
374 as the subject and issuer fields, respectively, of the certificate.
375 The owner name is also used for the host and sign key files,
376 while the trusted name is used for the identity files.
377 .sp \n(Ppu
378 .ne 2
379
380 All files are installed by default in the keys directory
381 \fI/usr/local/etc\f[],
382 which is normally in a shared filesystem
383 in NFS-mounted networks.
384 The actual location of the keys directory
385 and each file can be overridden by configuration commands,
386 but this is not recommended.
387 Normally, the files for each host are generated by that host
388 and used only by that host, although exceptions exist
389 as noted later on this page.
390 .sp \n(Ppu
391 .ne 2
392
393 Normally, files containing private values,
394 including the host key, sign key and identification parameters,
395 are permitted root read/write-only;
396 while others containing public values are permitted world readable.
397 Alternatively, files containing private values can be encrypted
398 and these files permitted world readable,
399 which simplifies maintenance in shared file systems.
400 Since uniqueness is insured by the hostname and
401 file name extensions, the files for a NFS server and
402 dependent clients can all be installed in the same shared directory.
403 .sp \n(Ppu
404 .ne 2
405
406 The recommended practice is to keep the file name extensions
407 when installing a file and to install a soft link
408 from the generic names specified elsewhere on this page
409 to the generated files.
410 This allows new file generations to be activated simply
411 by changing the link.
412 If a link is present, ntpd follows it to the file name
413 to extract the filestamp.
414 If a link is not present,
415 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
416 extracts the filestamp from the file itself.
417 This allows clients to verify that the file and generation times
418 are always current.
419 The
420 \f\*[B-Font]ntp-keygen\fP
421 program uses the same timestamp extension for all files generated
422 at one time, so each generation is distinct and can be readily
423 recognized in monitoring data.
424 .SS Running the program
425 The safest way to run the
426 \f\*[B-Font]ntp-keygen\fP
427 program is logged in directly as root.
428 The recommended procedure is change to the keys directory,
429 usually
430 \fI/usr/local/etc\f[],
431 then run the program.
432 When run for the first time,
433 or if all
434 \f\*[B-Font]ntpkey\f[]
435 files have been removed,
436 the program generates a RSA host key file and matching RSA-MD5 certificate file,
437 which is all that is necessary in many cases.
438 The program also generates soft links from the generic names
439 to the respective files.
440 If run again, the program uses the same host key file,
441 but generates a new certificate file and link.
442 .sp \n(Ppu
443 .ne 2
444
445 The host key is used to encrypt the cookie when required and so must be RSA type.
446 By default, the host key is also the sign key used to encrypt signatures.
447 When necessary, a different sign key can be specified and this can be
448 either RSA or DSA type.
449 By default, the message digest type is MD5, but any combination
450 of sign key type and message digest type supported by the OpenSSL library
451 can be specified, including those using the MD2, MD5, SHA, SHA1, MDC2
452 and RIPE160 message digest algorithms.
453 However, the scheme specified in the certificate must be compatible
454 with the sign key.
455 Certificates using any digest algorithm are compatible with RSA sign keys;
456 however, only SHA and SHA1 certificates are compatible with DSA sign keys.
457 .sp \n(Ppu
458 .ne 2
459
460 Private/public key files and certificates are compatible with
461 other OpenSSL applications and very likely other libraries as well.
462 Certificates or certificate requests derived from them should be compatible
463 with extant industry practice, although some users might find
464 the interpretation of X509v3 extension fields somewhat liberal.
465 However, the identification parameter files, although encoded
466 as the other files, are probably not compatible with anything other than Autokey.
467 .sp \n(Ppu
468 .ne 2
469
470 Running the program as other than root and using the Unix
471 \f\*[B-Font]su\f[]
472 command
473 to assume root may not work properly, since by default the OpenSSL library
474 looks for the random seed file
475 \f\*[B-Font].rnd\f[]
476 in the user home directory.
477 However, there should be only one
478 \f\*[B-Font].rnd\f[],
479 most conveniently
480 in the root directory, so it is convenient to define the
481 \f\*[B-Font]$RANDFILE\f[]
482 environment variable used by the OpenSSL library as the path to
483 \f\*[B-Font]/.rnd\f[].
484 .sp \n(Ppu
485 .ne 2
486
487 Installing the keys as root might not work in NFS-mounted
488 shared file systems, as NFS clients may not be able to write
489 to the shared keys directory, even as root.
490 In this case, NFS clients can specify the files in another
491 directory such as
492 \fI/etc\f[]
493 using the
494 \f\*[B-Font]keysdir\f[]
495 command.
496 There is no need for one client to read the keys and certificates
497 of other clients or servers, as these data are obtained automatically
498 by the Autokey protocol.
499 .sp \n(Ppu
500 .ne 2
501
502 Ordinarily, cryptographic files are generated by the host that uses them,
503 but it is possible for a trusted agent (TA) to generate these files
504 for other hosts; however, in such cases files should always be encrypted.
505 The subject name and trusted name default to the hostname
506 of the host generating the files, but can be changed by command line options.
507 It is convenient to designate the owner name and trusted name
508 as the subject and issuer fields, respectively, of the certificate.
509 The owner name is also used for the host and sign key files,
510 while the trusted name is used for the identity files.
511 seconds.
512 seconds.
513 s Trusted Hosts and Groups
514 Each cryptographic configuration involves selection of a signature scheme
515 and identification scheme, called a cryptotype,
516 as explained in the
517 \fIAuthentication\f[] \fIOptions\f[]
518 section of
519 \fCntp.conf\f[]\fR(5)\f[].
520 The default cryptotype uses RSA encryption, MD5 message digest
521 and TC identification.
522 First, configure a NTP subnet including one or more low-stratum
523 trusted hosts from which all other hosts derive synchronization
524 directly or indirectly.
525 Trusted hosts have trusted certificates;
526 all other hosts have nontrusted certificates.
527 These hosts will automatically and dynamically build authoritative
528 certificate trails to one or more trusted hosts.
529 A trusted group is the set of all hosts that have, directly or indirectly,
530 a certificate trail ending at a trusted host.
531 The trail is defined by static configuration file entries
532 or dynamic means described on the
533 \fIAutomatic\f[] \fINTP\f[] \fIConfiguration\f[] \fIOptions\f[]
534 section of
535 \fCntp.conf\f[]\fR(5)\f[].
536 .sp \n(Ppu
537 .ne 2
538
539 On each trusted host as root, change to the keys directory.
540 To insure a fresh fileset, remove all
541 \f\*[B-Font]ntpkey\f[]
542 files.
543 Then run
544 \f\*[B-Font]ntp-keygen\fP
545 \f\*[B-Font]\-T\f[]
546 to generate keys and a trusted certificate.
547 On all other hosts do the same, but leave off the
548 \f\*[B-Font]\-T\f[]
549 flag to generate keys and nontrusted certificates.
550 When complete, start the NTP daemons beginning at the lowest stratum
551 and working up the tree.
552 It may take some time for Autokey to instantiate the certificate trails
553 throughout the subnet, but setting up the environment is completely automatic.
554 .sp \n(Ppu
555 .ne 2
556
557 If it is necessary to use a different sign key or different digest/signature
558 scheme than the default, run
559 \f\*[B-Font]ntp-keygen\fP
560 with the
561 \f\*[B-Font]\-S\f[] \f\*[I-Font]type\f[]
562 option, where
563 \f\*[I-Font]type\f[]
564 is either
565 \f\*[B-Font]RSA\f[]
566 or
567 \f\*[B-Font]DSA\f[].
568 The most often need to do this is when a DSA-signed certificate is used.
569 If it is necessary to use a different certificate scheme than the default,
570 run
571 \f\*[B-Font]ntp-keygen\fP
572 with the
573 \f\*[B-Font]\-c\f[] \f\*[I-Font]scheme\f[]
574 option and selected
575 \f\*[I-Font]scheme\f[]
576 as needed.
577 f
578 \f\*[B-Font]ntp-keygen\fP
579 is run again without these options, it generates a new certificate
580 using the same scheme and sign key.
581 .sp \n(Ppu
582 .ne 2
583
584 After setting up the environment it is advisable to update certificates
585 from time to time, if only to extend the validity interval.
586 Simply run
587 \f\*[B-Font]ntp-keygen\fP
588 with the same flags as before to generate new certificates
589 using existing keys.
590 However, if the host or sign key is changed,
591 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
592 should be restarted.
593 When
594 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
595 is restarted, it loads any new files and restarts the protocol.
596 Other dependent hosts will continue as usual until signatures are refreshed,
597 at which time the protocol is restarted.
598 .SS Identity Schemes
599 As mentioned on the Autonomous Authentication page,
600 the default TC identity scheme is vulnerable to a middleman attack.
601 However, there are more secure identity schemes available,
602 including PC, IFF, GQ and MV described on the
603 "Identification Schemes"
604 page
605 (maybe available at
606 \f[C]http://www.eecis.udel.edu/%7emills/keygen.html\f[]).
607 These schemes are based on a TA, one or more trusted hosts
608 and some number of nontrusted hosts.
609 Trusted hosts prove identity using values provided by the TA,
610 while the remaining hosts prove identity using values provided
611 by a trusted host and certificate trails that end on that host.
612 The name of a trusted host is also the name of its sugroup
613 and also the subject and issuer name on its trusted certificate.
614 The TA is not necessarily a trusted host in this sense, but often is.
615 .sp \n(Ppu
616 .ne 2
617
618 In some schemes there are separate keys for servers and clients.
619 A server can also be a client of another server,
620 but a client can never be a server for another client.
621 In general, trusted hosts and nontrusted hosts that operate
622 as both server and client have parameter files that contain
623 both server and client keys.
624 Hosts that operate
625 only as clients have key files that contain only client keys.
626 .sp \n(Ppu
627 .ne 2
628
629 The PC scheme supports only one trusted host in the group.
630 On trusted host alice run
631 \f\*[B-Font]ntp-keygen\fP
632 \f\*[B-Font]\-P\f[]
633 \f\*[B-Font]\-p\f[] \f\*[I-Font]password\f[]
634 to generate the host key file
635 \fIntpkey_RSAkey_\f[]\f\*[I-Font]alice.filestamp\f[]
636 and trusted private certificate file
637 \fIntpkey_RSA-MD5_cert_\f[]\f\*[I-Font]alice.filestamp\f[].
638 Copy both files to all group hosts;
639 they replace the files which would be generated in other schemes.
640 On each host bob install a soft link from the generic name
641 \fIntpkey_host_\f[]\f\*[I-Font]bob\f[]
642 to the host key file and soft link
643 \fIntpkey_cert_\f[]\f\*[I-Font]bob\f[]
644 to the private certificate file.
645 Note the generic links are on bob, but point to files generated
646 by trusted host alice.
647 In this scheme it is not possible to refresh
648 either the keys or certificates without copying them
649 to all other hosts in the group.
650 .sp \n(Ppu
651 .ne 2
652
653 For the IFF scheme proceed as in the TC scheme to generate keys
654 and certificates for all group hosts, then for every trusted host in the group,
655 generate the IFF parameter file.
656 On trusted host alice run
657 \f\*[B-Font]ntp-keygen\fP
658 \f\*[B-Font]\-T\f[]
659 \f\*[B-Font]\-I\f[]
660 \f\*[B-Font]\-p\f[] \f\*[I-Font]password\f[]
661 to produce her parameter file
662 \fIntpkey_IFFpar_\f[]\f\*[I-Font]alice.filestamp\f[],
663 which includes both server and client keys.
664 Copy this file to all group hosts that operate as both servers
665 and clients and install a soft link from the generic
666 \fIntpkey_iff_\f[]\f\*[I-Font]alice\f[]
667 to this file.
668 If there are no hosts restricted to operate only as clients,
669 there is nothing further to do.
670 As the IFF scheme is independent
671 of keys and certificates, these files can be refreshed as needed.
672 .sp \n(Ppu
673 .ne 2
674
675 If a rogue client has the parameter file, it could masquerade
676 as a legitimate server and present a middleman threat.
677 To eliminate this threat, the client keys can be extracted
678 from the parameter file and distributed to all restricted clients.
679 After generating the parameter file, on alice run
680 \f\*[B-Font]ntp-keygen\fP
681 \f\*[B-Font]\-e\f[]
682 and pipe the output to a file or mail program.
683 Copy or mail this file to all restricted clients.
684 On these clients install a soft link from the generic
685 \fIntpkey_iff_\f[]\f\*[I-Font]alice\f[]
686 to this file.
687 To further protect the integrity of the keys,
688 each file can be encrypted with a secret password.
689 .sp \n(Ppu
690 .ne 2
691
692 For the GQ scheme proceed as in the TC scheme to generate keys
693 and certificates for all group hosts, then for every trusted host
694 in the group, generate the IFF parameter file.
695 On trusted host alice run
696 \f\*[B-Font]ntp-keygen\fP
697 \f\*[B-Font]\-T\f[]
698 \f\*[B-Font]\-G\f[]
699 \f\*[B-Font]\-p\f[] \f\*[I-Font]password\f[]
700 to produce her parameter file
701 \fIntpkey_GQpar_\f[]\f\*[I-Font]alice.filestamp\f[],
702 which includes both server and client keys.
703 Copy this file to all group hosts and install a soft link
704 from the generic
705 \fIntpkey_gq_\f[]\f\*[I-Font]alice\f[]
706 to this file.
707 In addition, on each host bob install a soft link
708 from generic
709 \fIntpkey_gq_\f[]\f\*[I-Font]bob\f[]
710 to this file.
711 As the GQ scheme updates the GQ parameters file and certificate
712 at the same time, keys and certificates can be regenerated as needed.
713 .sp \n(Ppu
714 .ne 2
715
716 For the MV scheme, proceed as in the TC scheme to generate keys
717 and certificates for all group hosts.
718 For illustration assume trish is the TA, alice one of several trusted hosts
719 and bob one of her clients.
720 On TA trish run
721 \f\*[B-Font]ntp-keygen\fP
722 \f\*[B-Font]\-V\f[] \f\*[I-Font]n\f[]
723 \f\*[B-Font]\-p\f[] \f\*[I-Font]password\f[],
724 where
725 \f\*[I-Font]n\f[]
726 is the number of revokable keys (typically 5) to produce
727 the parameter file
728 \fIntpkeys_MVpar_\f[]\f\*[I-Font]trish.filestamp\f[]
729 and client key files
730 \fIntpkeys_MVkeyd_\f[]\f\*[I-Font]trish.filestamp\f[]
731 where
732 \f\*[I-Font]d\f[]
733 is the key number (0 \&<
734 \f\*[I-Font]d\f[]
735 \&<
736 \f\*[I-Font]n\f[]).
737 Copy the parameter file to alice and install a soft link
738 from the generic
739 \fIntpkey_mv_\f[]\f\*[I-Font]alice\f[]
740 to this file.
741 Copy one of the client key files to alice for later distribution
742 to her clients.
743 It doesn't matter which client key file goes to alice,
744 since they all work the same way.
745 Alice copies the client key file to all of her cliens.
746 On client bob install a soft link from generic
747 \fIntpkey_mvkey_\f[]\f\*[I-Font]bob\f[]
748 to the client key file.
749 As the MV scheme is independent of keys and certificates,
750 these files can be refreshed as needed.
751 .SS Command Line Options
752 .TP 7
753 .NOP \f\*[B-Font]\-c\f[] \f\*[I-Font]scheme\f[]
754 Select certificate message digest/signature encryption scheme.
755 The
756 \f\*[I-Font]scheme\f[]
757 can be one of the following:
758 . Cm RSA-MD2 , RSA-MD5 , RSA-SHA , RSA-SHA1 , RSA-MDC2 , RSA-RIPEMD160 , DSA-SHA ,
759 or
760 \f\*[B-Font]DSA-SHA1\f[].
761 Note that RSA schemes must be used with a RSA sign key and DSA
762 schemes must be used with a DSA sign key.
763 The default without this option is
764 \f\*[B-Font]RSA-MD5\f[].
765 .TP 7
766 .NOP \f\*[B-Font]\-d\f[]
767 Enable debugging.
768 This option displays the cryptographic data produced in eye-friendly billboards.
769 .TP 7
770 .NOP \f\*[B-Font]\-e\f[]
771 Write the IFF client keys to the standard output.
772 This is intended for automatic key distribution by mail.
773 .TP 7
774 .NOP \f\*[B-Font]\-G\f[]
775 Generate parameters and keys for the GQ identification scheme,
776 obsoleting any that may exist.
777 .TP 7
778 .NOP \f\*[B-Font]\-g\f[]
779 Generate keys for the GQ identification scheme
780 using the existing GQ parameters.
781 If the GQ parameters do not yet exist, create them first.
782 .TP 7
783 .NOP \f\*[B-Font]\-H\f[]
784 Generate new host keys, obsoleting any that may exist.
785 .TP 7
786 .NOP \f\*[B-Font]\-I\f[]
787 Generate parameters for the IFF identification scheme,
788 obsoleting any that may exist.
789 .TP 7
790 .NOP \f\*[B-Font]\-i\f[] \f\*[I-Font]name\f[]
791 Set the suject name to
792 \f\*[I-Font]name\f[].
793 This is used as the subject field in certificates
794 and in the file name for host and sign keys.
795 .TP 7
796 .NOP \f\*[B-Font]\-M\f[]
797 Generate MD5 keys, obsoleting any that may exist.
798 .TP 7
799 .NOP \f\*[B-Font]\-P\f[]
800 Generate a private certificate.
801 By default, the program generates public certificates.
802 .TP 7
803 .NOP \f\*[B-Font]\-p\f[] \f\*[I-Font]password\f[]
804 Encrypt generated files containing private data with
805 \f\*[I-Font]password\f[]
806 and the DES-CBC algorithm.
807 .TP 7
808 .NOP \f\*[B-Font]\-q\f[]
809 Set the password for reading files to password.
810 .TP 7
811 .NOP \f\*[B-Font]\-S\f[] [\f\*[B-Font]RSA\f[] | \f\*[B-Font]DSA\f[]]
812 Generate a new sign key of the designated type,
813 obsoleting any that may exist.
814 By default, the program uses the host key as the sign key.
815 .TP 7
816 .NOP \f\*[B-Font]\-s\f[] \f\*[I-Font]name\f[]
817 Set the issuer name to
818 \f\*[I-Font]name\f[].
819 This is used for the issuer field in certificates
820 and in the file name for identity files.
821 .TP 7
822 .NOP \f\*[B-Font]\-T\f[]
823 Generate a trusted certificate.
824 By default, the program generates a non-trusted certificate.
825 .TP 7
826 .NOP \f\*[B-Font]\-V\f[] \f\*[I-Font]nkeys\f[]
827 Generate parameters and keys for the Mu-Varadharajan (MV) identification scheme.
828 .PP
829 .SS Random Seed File
830 All cryptographically sound key generation schemes must have means
831 to randomize the entropy seed used to initialize
832 the internal pseudo-random number generator used
833 by the library routines.
834 The OpenSSL library uses a designated random seed file for this purpose.
835 The file must be available when starting the NTP daemon and
836 \f\*[B-Font]ntp-keygen\fP
837 program.
838 If a site supports OpenSSL or its companion OpenSSH,
839 it is very likely that means to do this are already available.
840 .sp \n(Ppu
841 .ne 2
842
843 It is important to understand that entropy must be evolved
844 for each generation, for otherwise the random number sequence
845 would be predictable.
846 Various means dependent on external events, such as keystroke intervals,
847 can be used to do this and some systems have built-in entropy sources.
848 Suitable means are described in the OpenSSL software documentation,
849 but are outside the scope of this page.
850 .sp \n(Ppu
851 .ne 2
852
853 The entropy seed used by the OpenSSL library is contained in a file,
854 usually called
855 \f\*[B-Font].rnd\f[],
856 which must be available when starting the NTP daemon
857 or the
858 \f\*[B-Font]ntp-keygen\fP
859 program.
860 The NTP daemon will first look for the file
861 using the path specified by the
862 \f\*[B-Font]randfile\f[]
863 subcommand of the
864 \f\*[B-Font]crypto\f[]
865 configuration command.
866 If not specified in this way, or when starting the
867 \f\*[B-Font]ntp-keygen\fP
868 program,
869 the OpenSSL library will look for the file using the path specified
870 by the
871 RANDFILE
872 environment variable in the user home directory,
873 whether root or some other user.
874 If the
875 RANDFILE
876 environment variable is not present,
877 the library will look for the
878 \f\*[B-Font].rnd\f[]
879 file in the user home directory.
880 If the file is not available or cannot be written,
881 the daemon exits with a message to the system log and the program
882 exits with a suitable error message.
883 .SS Cryptographic Data Files
884 All other file formats begin with two lines.
885 The first contains the file name, including the generated host name
886 and filestamp.
887 The second contains the datestamp in conventional Unix date format.
888 Lines beginning with # are considered comments and ignored by the
889 \f\*[B-Font]ntp-keygen\fP
890 program and
891 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
892 daemon.
893 Cryptographic values are encoded first using ASN.1 rules,
894 then encrypted if necessary, and finally written PEM-encoded
895 printable ASCII format preceded and followed by MIME content identifier lines.
896 .sp \n(Ppu
897 .ne 2
898
899 The format of the symmetric keys file is somewhat different
900 than the other files in the interest of backward compatibility.
901 Since DES-CBC is deprecated in NTPv4, the only key format of interest
902 is MD5 alphanumeric strings.
903 Following hte heard the keys are
904 entered one per line in the format
905 .in +4
906 \f\*[I-Font]keyno\f[] \f\*[I-Font]type\f[] \f\*[I-Font]key\f[]
907 .in -4
908 where
909 \f\*[I-Font]keyno\f[]
910 is a positive integer in the range 1-65,535,
911 \f\*[I-Font]type\f[]
912 is the string MD5 defining the key format and
913 \f\*[I-Font]key\f[]
914 is the key itself,
915 which is a printable ASCII string 16 characters or less in length.
916 Each character is chosen from the 93 printable characters
917 in the range 0x21 through 0x7f excluding space and the
918 \[oq]#\[cq]
919 character.
920 .sp \n(Ppu
921 .ne 2
922
923 Note that the keys used by the
924 \fCntpq\f[]\fR(@NTPQ_MS@)\f[]
925 and
926 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
927 programs
928 are checked against passwords requested by the programs
929 and entered by hand, so it is generally appropriate to specify these keys
930 in human readable ASCII format.
931 .sp \n(Ppu
932 .ne 2
933
934 The
935 \f\*[B-Font]ntp-keygen\fP
936 program generates a MD5 symmetric keys file
937 \fIntpkey_MD5key_\f[]\f\*[I-Font]hostname.filestamp\f[].
938 Since the file contains private shared keys,
939 it should be visible only to root and distributed by secure means
940 to other subnet hosts.
941 The NTP daemon loads the file
942 \fIntp.keys\f[],
943 so
944 \f\*[B-Font]ntp-keygen\fP
945 installs a soft link from this name to the generated file.
946 Subsequently, similar soft links must be installed by manual
947 or automated means on the other subnet hosts.
948 While this file is not used with the Autokey Version 2 protocol,
949 it is needed to authenticate some remote configuration commands
950 used by the
951 \fCntpq\f[]\fR(@NTPQ_MS@)\f[]
952 and
953 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
954 utilities.
955 .SH "OPTIONS"
956 .TP
957 .NOP \f\*[B-Font]\-b\f[] \f\*[I-Font]imbits\f[], \f\*[B-Font]\-\-imbits\f[]=\f\*[I-Font]imbits\f[]
958 identity modulus bits.
959 This option takes an integer number as its argument.
960 The value of
961 \f\*[I-Font]imbits\f[]
962 is constrained to being:
963 .in +4
964 .nf
965 .na
966 in the range  256 through 2048
967 .fi
968 .in -4
969 .sp
970 The number of bits in the identity modulus.  The default is 256.
971 .TP
972 .NOP \f\*[B-Font]\-c\f[] \f\*[I-Font]scheme\f[], \f\*[B-Font]\-\-certificate\f[]=\f\*[I-Font]scheme\f[]
973 certificate scheme.
974 .sp
975 scheme is one of
976 RSA-MD2, RSA-MD5, RSA-SHA, RSA-SHA1, RSA-MDC2, RSA-RIPEMD160,
977 DSA-SHA, or DSA-SHA1.
978 .sp
979 Select the certificate message digest/signature encryption scheme.
980 Note that RSA schemes must be used with a RSA sign key and DSA
981 schemes must be used with a DSA sign key.  The default without
982 this option is RSA-MD5.
983 .TP
984 .NOP \f\*[B-Font]\-C\f[] \f\*[I-Font]cipher\f[], \f\*[B-Font]\-\-cipher\f[]=\f\*[I-Font]cipher\f[]
985 privatekey cipher.
986 .sp
987 Select the cipher which is used to encrypt the files containing
988 private keys.  The default is three-key triple DES in CBC mode,
989 equivalent to "@code{-C des-ede3-cbc".  The openssl tool lists ciphers
990 available in "\fBopenssl \-h\fP" output.
991 .TP
992 .NOP \f\*[B-Font]\-d\f[], \f\*[B-Font]\-\-debug\-level\f[]
993 Increase debug verbosity level.
994 This option may appear an unlimited number of times.
995 .sp
996 .TP
997 .NOP \f\*[B-Font]\-D\f[] \f\*[I-Font]number\f[], \f\*[B-Font]\-\-set\-debug\-level\f[]=\f\*[I-Font]number\f[]
998 Set the debug verbosity level.
999 This option may appear an unlimited number of times.
1000 This option takes an integer number as its argument.
1001 .sp
1002 .TP
1003 .NOP \f\*[B-Font]\-e\f[], \f\*[B-Font]\-\-id\-key\f[]
1004 Write IFF or GQ identity keys.
1005 .sp
1006 Write the IFF or GQ client keys to the standard output.  This is
1007 intended for automatic key distribution by mail.
1008 .TP
1009 .NOP \f\*[B-Font]\-G\f[], \f\*[B-Font]\-\-gq\-params\f[]
1010 Generate GQ parameters and keys.
1011 .sp
1012 Generate parameters and keys for the GQ identification scheme,
1013 obsoleting any that may exist.
1014 .TP
1015 .NOP \f\*[B-Font]\-H\f[], \f\*[B-Font]\-\-host\-key\f[]
1016 generate RSA host key.
1017 .sp
1018 Generate new host keys, obsoleting any that may exist.
1019 .TP
1020 .NOP \f\*[B-Font]\-I\f[], \f\*[B-Font]\-\-iffkey\f[]
1021 generate IFF parameters.
1022 .sp
1023 Generate parameters for the IFF identification scheme, obsoleting
1024 any that may exist.
1025 .TP
1026 .NOP \f\*[B-Font]\-i\f[] \f\*[I-Font]group\f[], \f\*[B-Font]\-\-ident\f[]=\f\*[I-Font]group\f[]
1027 set Autokey group name.
1028 .sp
1029 Set the optional Autokey group name to name.  This is used in
1030 the file name of IFF, GQ, and MV client parameters files.  In
1031 that role, the default is the host name if this option is not
1032 provided.  The group name, if specified using \fB-i/--ident\fP or
1033 using \fB-s/--subject-name\fP following an '\fB@\fP' character,
1034 is also a part of the self-signed host certificate's subject and
1035 issuer names in the form \fBhost@group\fP and should match the
1036 '\fBcrypto ident\fP' or '\fBserver ident\fP' configuration in
1037 \fBntpd\fP's configuration file. 
1038 .TP
1039 .NOP \f\*[B-Font]\-l\f[] \f\*[I-Font]lifetime\f[], \f\*[B-Font]\-\-lifetime\f[]=\f\*[I-Font]lifetime\f[]
1040 set certificate lifetime.
1041 This option takes an integer number as its argument.
1042 .sp
1043 Set the certificate expiration to lifetime days from now.
1044 .TP
1045 .NOP \f\*[B-Font]\-M\f[], \f\*[B-Font]\-\-md5key\f[]
1046 generate MD5 keys.
1047 .sp
1048 Generate MD5 keys, obsoleting any that may exist.
1049 .TP
1050 .NOP \f\*[B-Font]\-m\f[] \f\*[I-Font]modulus\f[], \f\*[B-Font]\-\-modulus\f[]=\f\*[I-Font]modulus\f[]
1051 modulus.
1052 This option takes an integer number as its argument.
1053 The value of
1054 \f\*[I-Font]modulus\f[]
1055 is constrained to being:
1056 .in +4
1057 .nf
1058 .na
1059 in the range  256 through 2048
1060 .fi
1061 .in -4
1062 .sp
1063 The number of bits in the prime modulus.  The default is 512.
1064 .TP
1065 .NOP \f\*[B-Font]\-P\f[], \f\*[B-Font]\-\-pvt\-cert\f[]
1066 generate PC private certificate.
1067 .sp
1068 Generate a private certificate.  By default, the program generates
1069 public certificates.
1070 .TP
1071 .NOP \f\*[B-Font]\-p\f[] \f\*[I-Font]passwd\f[], \f\*[B-Font]\-\-password\f[]=\f\*[I-Font]passwd\f[]
1072 local private password.
1073 .sp
1074 Local files containing private data are encrypted with the
1075 DES-CBC algorithm and the specified password.  The same password
1076 must be specified to the local ntpd via the "crypto pw password"
1077 configuration command.  The default password is the local
1078 hostname.
1079 .TP
1080 .NOP \f\*[B-Font]\-q\f[] \f\*[I-Font]passwd\f[], \f\*[B-Font]\-\-export\-passwd\f[]=\f\*[I-Font]passwd\f[]
1081 export IFF or GQ group keys with password.
1082 .sp
1083 Export IFF or GQ identity group keys to the standard output,
1084 encrypted with the DES-CBC algorithm and the specified password.
1085 The same password must be specified to the remote ntpd via the
1086 "crypto pw password" configuration command.  See also the option
1087 --id-key (-e) for unencrypted exports.
1088 .TP
1089 .NOP \f\*[B-Font]\-S\f[] \f\*[I-Font]sign\f[], \f\*[B-Font]\-\-sign\-key\f[]=\f\*[I-Font]sign\f[]
1090 generate sign key (RSA or DSA).
1091 .sp
1092 Generate a new sign key of the designated type, obsoleting any
1093 that may exist.  By default, the program uses the host key as the
1094 sign key.
1095 .TP
1096 .NOP \f\*[B-Font]\-s\f[] \f\*[I-Font]host@group\f[], \f\*[B-Font]\-\-subject\-name\f[]=\f\*[I-Font]host@group\f[]
1097 set host and optionally group name.
1098 .sp
1099 Set the Autokey host name, and optionally, group name specified
1100 following an '\fB@\fP' character.  The host name is used in the file
1101 name of generated host and signing certificates, without the
1102 group name.  The host name, and if provided, group name are used
1103 in \fBhost@group\fP form for the host certificate's subject and issuer
1104 fields.  Specifying '\fB-s @group\fP' is allowed, and results in
1105 leaving the host name unchanged while appending \fB@group\fP to the
1106 subject and issuer fields, as with \fB-i group\fP.  The group name, or
1107 if not provided, the host name are also used in the file names
1108 of IFF, GQ, and MV client parameter files.
1109 .TP
1110 .NOP \f\*[B-Font]\-T\f[], \f\*[B-Font]\-\-trusted\-cert\f[]
1111 trusted certificate (TC scheme).
1112 .sp
1113 Generate a trusted certificate.  By default, the program generates
1114 a non-trusted certificate.
1115 .TP
1116 .NOP \f\*[B-Font]\-V\f[] \f\*[I-Font]num\f[], \f\*[B-Font]\-\-mv\-params\f[]=\f\*[I-Font]num\f[]
1117 generate <num> MV parameters.
1118 This option takes an integer number as its argument.
1119 .sp
1120 Generate parameters and keys for the Mu-Varadharajan (MV)
1121 identification scheme.
1122 .TP
1123 .NOP \f\*[B-Font]\-v\f[] \f\*[I-Font]num\f[], \f\*[B-Font]\-\-mv\-keys\f[]=\f\*[I-Font]num\f[]
1124 update <num> MV keys.
1125 This option takes an integer number as its argument.
1126 .sp
1127 This option has not been fully documented.
1128 .TP
1129 .NOP \f\*[B-Font]\-\&?\f[], \f\*[B-Font]\-\-help\f[]
1130 Display usage information and exit.
1131 .TP
1132 .NOP \f\*[B-Font]\-\&!\f[], \f\*[B-Font]\-\-more-help\f[]
1133 Pass the extended usage information through a pager.
1134 .TP
1135 .NOP \f\*[B-Font]\->\f[] [\f\*[I-Font]cfgfile\f[]], \f\*[B-Font]\-\-save-opts\f[] [=\f\*[I-Font]cfgfile\f[]]
1136 Save the option state to \fIcfgfile\fP.  The default is the \fIlast\fP
1137 configuration file listed in the \fBOPTION PRESETS\fP section, below.
1138 The command will exit after updating the config file.
1139 .TP
1140 .NOP \f\*[B-Font]\-<\f[] \f\*[I-Font]cfgfile\f[], \f\*[B-Font]\-\-load-opts\f[]=\f\*[I-Font]cfgfile\f[], \f\*[B-Font]\-\-no-load-opts\f[]
1141 Load options from \fIcfgfile\fP.
1142 The \fIno-load-opts\fP form will disable the loading
1143 of earlier config/rc/ini files.  \fI\-\-no-load-opts\fP is handled early,
1144 out of order.
1145 .TP
1146 .NOP \f\*[B-Font]\-\-version\f[] [{\f\*[I-Font]v|c|n\f[]}]
1147 Output version of program and exit.  The default mode is `v', a simple
1148 version.  The `c' mode will print copyright information and `n' will
1149 print the full copyright notice.
1150 .PP
1151 .SH "OPTION PRESETS"
1152 Any option that is not marked as \fInot presettable\fP may be preset
1153 by loading values from configuration ("RC" or ".INI") file(s) and values from
1154 environment variables named:
1155 .nf
1156   \fBNTP_KEYGEN_<option-name>\fP or \fBNTP_KEYGEN\fP
1157 .fi
1158 .ad
1159 The environmental presets take precedence (are processed later than)
1160 the configuration files.
1161 The \fIhomerc\fP files are "\fI$HOME\fP", and "\fI.\fP".
1162 If any of these are directories, then the file \fI.ntprc\fP
1163 is searched for within those directories.
1164 .SH USAGE
1165 The
1166 \f\*[B-Font]\-p\f[] \f\*[I-Font]password\f[]
1167 option specifies the write password and
1168 \f\*[B-Font]\-q\f[] \f\*[I-Font]password\f[]
1169 option the read password for previously encrypted files.
1170 The
1171 \f\*[B-Font]ntp-keygen\fP
1172 program prompts for the password if it reads an encrypted file
1173 and the password is missing or incorrect.
1174 If an encrypted file is read successfully and
1175 no write password is specified, the read password is used
1176 as the write password by default.
1177 .SH "ENVIRONMENT"
1178 See \fBOPTION PRESETS\fP for configuration environment variables.
1179 .SH "FILES"
1180 See \fBOPTION PRESETS\fP for configuration files.
1181 .SH "EXIT STATUS"
1182 One of the following exit values will be returned:
1183 .TP
1184 .NOP 0 " (EXIT_SUCCESS)"
1185 Successful program execution.
1186 .TP
1187 .NOP 1 " (EXIT_FAILURE)"
1188 The operation failed or the command syntax was not valid.
1189 .TP
1190 .NOP 66 " (EX_NOINPUT)"
1191 A specified configuration file could not be loaded.
1192 .TP
1193 .NOP 70 " (EX_SOFTWARE)"
1194 libopts had an internal operational error.  Please report
1195 it to autogen-users@lists.sourceforge.net.  Thank you.
1196 .PP
1197 .SH "AUTHORS"
1198 The University of Delaware and Network Time Foundation
1199 .SH "COPYRIGHT"
1200 Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation all rights reserved.
1201 This program is released under the terms of the NTP license, <http://ntp.org/license>.
1202 .SH BUGS
1203 It can take quite a while to generate some cryptographic values,
1204 from one to several minutes with modern architectures
1205 such as UltraSPARC and up to tens of minutes to an hour
1206 with older architectures such as SPARC IPC.
1207 .sp \n(Ppu
1208 .ne 2
1209
1210 Please report bugs to http://bugs.ntp.org .
1211 .sp \n(Ppu
1212 .ne 2
1213
1214 Please send bug reports to: http://bugs.ntp.org, bugs@ntp.org
1215 .SH NOTES
1216 Portions of this document came from FreeBSD.
1217 .sp \n(Ppu
1218 .ne 2
1219
1220 This manual page was \fIAutoGen\fP-erated from the \fBntp-keygen\fP
1221 option definitions.