xref: /freebsd/contrib/ntp/util/ntp-keygen.1ntp-keygenmdoc (revision f5f40dd63bc7acbb5312b26ac1ea1103c12352a6)
1*f5f40dd6SCy Schubert.Dd May 25 2024
22b15cb3dSCy Schubert.Dt NTP_KEYGEN 1ntp-keygenmdoc User Commands
32b15cb3dSCy Schubert.Os
42b15cb3dSCy Schubert.\"  EDIT THIS FILE WITH CAUTION  (ntp-keygen-opts.mdoc)
52b15cb3dSCy Schubert.\"
6*f5f40dd6SCy Schubert.\"  It has been AutoGen-ed  May 25, 2024 at 12:04:46 AM by AutoGen 5.18.16
72b15cb3dSCy Schubert.\"  From the definitions    ntp-keygen-opts.def
82b15cb3dSCy Schubert.\"  and the template file   agmdoc-cmd.tpl
92b15cb3dSCy Schubert.Sh NAME
102b15cb3dSCy Schubert.Nm ntp-keygen
112b15cb3dSCy Schubert.Nd Create a NTP host key
122b15cb3dSCy Schubert.Sh SYNOPSIS
132b15cb3dSCy Schubert.Nm
142b15cb3dSCy Schubert.\" Mixture of short (flag) options and long options
152b15cb3dSCy Schubert.Op Fl flags
162b15cb3dSCy Schubert.Op Fl flag Op Ar value
172b15cb3dSCy Schubert.Op Fl \-option\-name Ns Oo Oo Ns "=| " Oc Ns Ar value Oc
182b15cb3dSCy Schubert.Pp
192b15cb3dSCy SchubertAll arguments must be options.
202b15cb3dSCy Schubert.Pp
212b15cb3dSCy Schubert.Sh DESCRIPTION
222b15cb3dSCy SchubertThis program generates cryptographic data files used by the NTPv4
232b15cb3dSCy Schubertauthentication and identification schemes.
2409100258SXin LIIt can generate message digest keys used in symmetric key cryptography and,
2509100258SXin LIif the OpenSSL software library has been installed, it can generate host keys,
2609100258SXin LIsigning keys, certificates, and identity keys and parameters used in Autokey
2709100258SXin LIpublic key cryptography.
282b15cb3dSCy SchubertThese files are used for cookie encryption,
2909100258SXin LIdigital signature, and challenge/response identification algorithms
302b15cb3dSCy Schubertcompatible with the Internet standard security infrastructure.
312b15cb3dSCy Schubert.Pp
3209100258SXin LIThe message digest symmetric keys file is generated in a format
3309100258SXin LIcompatible with NTPv3.
3409100258SXin LIAll other files are in PEM\-encoded printable ASCII format,
3509100258SXin LIso they can be embedded as MIME attachments in email to other sites
362b15cb3dSCy Schubertand certificate authorities.
372b15cb3dSCy SchubertBy default, files are not encrypted.
382b15cb3dSCy Schubert.Pp
3909100258SXin LIWhen used to generate message digest symmetric keys, the program
4009100258SXin LIproduces a file containing ten pseudo\-random printable ASCII strings
4109100258SXin LIsuitable for the MD5 message digest algorithm included in the
4209100258SXin LIdistribution.
432b15cb3dSCy SchubertIf the OpenSSL library is installed, it produces an additional ten
4409100258SXin LIhex\-encoded random bit strings suitable for SHA1, AES\-128\-CMAC, and
4509100258SXin LIother message digest algorithms.
4609100258SXin LIThe message digest symmetric keys file must be distributed and stored
472b15cb3dSCy Schubertusing secure means beyond the scope of NTP itself.
482b15cb3dSCy SchubertBesides the keys used for ordinary NTP associations, additional keys
492b15cb3dSCy Schubertcan be defined as passwords for the
502b15cb3dSCy Schubert.Xr ntpq 1ntpqmdoc
512b15cb3dSCy Schubertand
522b15cb3dSCy Schubert.Xr ntpdc 1ntpdcmdoc
532b15cb3dSCy Schubertutility programs.
542b15cb3dSCy Schubert.Pp
552b15cb3dSCy SchubertThe remaining generated files are compatible with other OpenSSL
562b15cb3dSCy Schubertapplications and other Public Key Infrastructure (PKI) resources.
572b15cb3dSCy SchubertCertificates generated by this program are compatible with extant
582b15cb3dSCy Schubertindustry practice, although some users might find the interpretation of
592b15cb3dSCy SchubertX509v3 extension fields somewhat liberal.
602b15cb3dSCy SchubertHowever, the identity keys are probably not compatible with anything
612b15cb3dSCy Schubertother than Autokey.
622b15cb3dSCy Schubert.Pp
632b15cb3dSCy SchubertSome files used by this program are encrypted using a private password.
642b15cb3dSCy SchubertThe
652b15cb3dSCy Schubert.Fl p
6609100258SXin LIoption specifies the read password for local encrypted files and the
672b15cb3dSCy Schubert.Fl q
6809100258SXin LIoption the write password for encrypted files sent to remote sites.
692b15cb3dSCy SchubertIf no password is specified, the host name returned by the Unix
7009100258SXin LI.Xr hostname 1
7109100258SXin LIcommand, normally the DNS name of the host, is used as the the default read
7209100258SXin LIpassword, for convenience.
7309100258SXin LIThe
7409100258SXin LI.Nm
7509100258SXin LIprogram prompts for the password if it reads an encrypted file
7609100258SXin LIand the password is missing or incorrect.
7709100258SXin LIIf an encrypted file is read successfully and
7809100258SXin LIno write password is specified, the read password is used
7909100258SXin LIas the write password by default.
802b15cb3dSCy Schubert.Pp
812b15cb3dSCy SchubertThe
8209100258SXin LI.Cm pw
832b15cb3dSCy Schubertoption of the
8409100258SXin LI.Ic crypto
8509100258SXin LI.Xr ntpd 1ntpdmdoc
862b15cb3dSCy Schubertconfiguration command specifies the read
872b15cb3dSCy Schubertpassword for previously encrypted local files.
8809100258SXin LIThis must match the local read password used by this program.
892b15cb3dSCy SchubertIf not specified, the host name is used.
9009100258SXin LIThus, if files are generated by this program without an explicit password,
912b15cb3dSCy Schubertthey can be read back by
9209100258SXin LI.Xr ntpd 1ntpdmdoc
9309100258SXin LIwithout specifying an explicit password but only on the same host.
9409100258SXin LIIf the write password used for encryption is specified as the host name,
9509100258SXin LIthese files can be read by that host with no explicit password.
962b15cb3dSCy Schubert.Pp
972b15cb3dSCy SchubertNormally, encrypted files for each host are generated by that host and
982b15cb3dSCy Schubertused only by that host, although exceptions exist as noted later on
992b15cb3dSCy Schubertthis page.
1002b15cb3dSCy SchubertThe symmetric keys file, normally called
10109100258SXin LI.Pa ntp.keys ,
1022b15cb3dSCy Schubertis usually installed in
1032b15cb3dSCy Schubert.Pa /etc .
1042b15cb3dSCy SchubertOther files and links are usually installed in
1052b15cb3dSCy Schubert.Pa /usr/local/etc ,
1062b15cb3dSCy Schubertwhich is normally in a shared filesystem in
1072b15cb3dSCy SchubertNFS\-mounted networks and cannot be changed by shared clients.
10809100258SXin LIIn these cases, NFS clients can specify the files in another
10909100258SXin LIdirectory such as
11009100258SXin LI.Pa /etc
11109100258SXin LIusing the
11209100258SXin LI.Ic keysdir
11309100258SXin LI.Xr ntpd 1ntpdmdoc
11409100258SXin LIconfiguration file command.
1152b15cb3dSCy Schubert.Pp
1162b15cb3dSCy SchubertThis program directs commentary and error messages to the standard
1172b15cb3dSCy Schuberterror stream
11809100258SXin LI.Pa stderr
1192b15cb3dSCy Schubertand remote files to the standard output stream
12009100258SXin LI.Pa stdout
1212b15cb3dSCy Schubertwhere they can be piped to other applications or redirected to files.
1222b15cb3dSCy SchubertThe names used for generated files and links all begin with the
1232b15cb3dSCy Schubertstring
12409100258SXin LI.Pa ntpkey\&*
1252b15cb3dSCy Schubertand include the file type, generating host and filestamp,
1262b15cb3dSCy Schubertas described in the
12709100258SXin LI.Sx "Cryptographic Data Files"
1282b15cb3dSCy Schubertsection below.
1292b15cb3dSCy Schubert.Ss Running the Program
13009100258SXin LIThe safest way to run the
13109100258SXin LI.Nm
13209100258SXin LIprogram is logged in directly as root.
13309100258SXin LIThe recommended procedure is change to the
13409100258SXin LI.Ar keys
13509100258SXin LIdirectory, usually
13609100258SXin LI.Pa /usr/local/etc ,
13709100258SXin LIthen run the program.
13809100258SXin LI.Pp
1392b15cb3dSCy SchubertTo test and gain experience with Autokey concepts, log in as root and
14009100258SXin LIchange to the
14109100258SXin LI.Ar keys
14209100258SXin LIdirectory, usually
14309100258SXin LI.Pa /usr/local/etc .
1442b15cb3dSCy SchubertWhen run for the first time, or if all files with names beginning with
14509100258SXin LI.Pa ntpkey\&*
1462b15cb3dSCy Schuberthave been removed, use the
1472b15cb3dSCy Schubert.Nm
14809100258SXin LIcommand without arguments to generate a default
14909100258SXin LI.Cm RSA
15009100258SXin LIhost key and matching
15109100258SXin LI.Cm RSA\-MD5
15209100258SXin LIcertificate file with expiration date one year hence,
15309100258SXin LIwhich is all that is necessary in many cases.
15409100258SXin LIThe program also generates soft links from the generic names
15509100258SXin LIto the respective files.
1562b15cb3dSCy SchubertIf run again without options, the program uses the
15709100258SXin LIexisting keys and parameters and generates a new certificate file with
15809100258SXin LInew expiration date one year hence, and soft link.
15909100258SXin LI.Pp
16009100258SXin LIThe host key is used to encrypt the cookie when required and so must be
16109100258SXin LI.Cm RSA
16209100258SXin LItype.
16309100258SXin LIBy default, the host key is also the sign key used to encrypt signatures.
16409100258SXin LIWhen necessary, a different sign key can be specified and this can be
16509100258SXin LIeither
16609100258SXin LI.Cm RSA
16709100258SXin LIor
16809100258SXin LI.Cm DSA
16909100258SXin LItype.
17009100258SXin LIBy default, the message digest type is
17109100258SXin LI.Cm MD5 ,
17209100258SXin LIbut any combination
17309100258SXin LIof sign key type and message digest type supported by the OpenSSL library
17409100258SXin LIcan be specified, including those using the
17509100258SXin LI.Cm AES128CMAC , MD2 , MD5 , MDC2 , SHA , SHA1
17609100258SXin LIand
17709100258SXin LI.Cm RIPE160
17809100258SXin LImessage digest algorithms.
17909100258SXin LIHowever, the scheme specified in the certificate must be compatible
18009100258SXin LIwith the sign key.
18109100258SXin LICertificates using any digest algorithm are compatible with
18209100258SXin LI.Cm RSA
18309100258SXin LIsign keys;
18409100258SXin LIhowever, only
18509100258SXin LI.Cm SHA
18609100258SXin LIand
18709100258SXin LI.Cm SHA1
18809100258SXin LIcertificates are compatible with
18909100258SXin LI.Cm DSA
19009100258SXin LIsign keys.
19109100258SXin LI.Pp
19209100258SXin LIPrivate/public key files and certificates are compatible with
19309100258SXin LIother OpenSSL applications and very likely other libraries as well.
19409100258SXin LICertificates or certificate requests derived from them should be compatible
19509100258SXin LIwith extant industry practice, although some users might find
19609100258SXin LIthe interpretation of X509v3 extension fields somewhat liberal.
19709100258SXin LIHowever, the identification parameter files, although encoded
19809100258SXin LIas the other files, are probably not compatible with anything other than Autokey.
19909100258SXin LI.Pp
20009100258SXin LIRunning the program as other than root and using the Unix
20109100258SXin LI.Xr su 1
20209100258SXin LIcommand
20309100258SXin LIto assume root may not work properly, since by default the OpenSSL library
20409100258SXin LIlooks for the random seed file
20509100258SXin LI.Pa .rnd
20609100258SXin LIin the user home directory.
20709100258SXin LIHowever, there should be only one
20809100258SXin LI.Pa .rnd ,
20909100258SXin LImost conveniently
21009100258SXin LIin the root directory, so it is convenient to define the
21109100258SXin LI.Ev RANDFILE
21209100258SXin LIenvironment variable used by the OpenSSL library as the path to
21309100258SXin LI.Pa .rnd .
21409100258SXin LI.Pp
21509100258SXin LIInstalling the keys as root might not work in NFS\-mounted
21609100258SXin LIshared file systems, as NFS clients may not be able to write
21709100258SXin LIto the shared keys directory, even as root.
21809100258SXin LIIn this case, NFS clients can specify the files in another
21909100258SXin LIdirectory such as
22009100258SXin LI.Pa /etc
22109100258SXin LIusing the
22209100258SXin LI.Ic keysdir
22309100258SXin LI.Xr ntpd 1ntpdmdoc
22409100258SXin LIconfiguration file command.
22509100258SXin LIThere is no need for one client to read the keys and certificates
22609100258SXin LIof other clients or servers, as these data are obtained automatically
22709100258SXin LIby the Autokey protocol.
22809100258SXin LI.Pp
22909100258SXin LIOrdinarily, cryptographic files are generated by the host that uses them,
23009100258SXin LIbut it is possible for a trusted agent (TA) to generate these files
23109100258SXin LIfor other hosts; however, in such cases files should always be encrypted.
23209100258SXin LIThe subject name and trusted name default to the hostname
23309100258SXin LIof the host generating the files, but can be changed by command line options.
23409100258SXin LIIt is convenient to designate the owner name and trusted name
23509100258SXin LIas the subject and issuer fields, respectively, of the certificate.
23609100258SXin LIThe owner name is also used for the host and sign key files,
23709100258SXin LIwhile the trusted name is used for the identity files.
23809100258SXin LI.Pp
23909100258SXin LIAll files are installed by default in the keys directory
24009100258SXin LI.Pa /usr/local/etc ,
24109100258SXin LIwhich is normally in a shared filesystem
24209100258SXin LIin NFS\-mounted networks.
24309100258SXin LIThe actual location of the keys directory
24409100258SXin LIand each file can be overridden by configuration commands,
24509100258SXin LIbut this is not recommended.
24609100258SXin LINormally, the files for each host are generated by that host
24709100258SXin LIand used only by that host, although exceptions exist
24809100258SXin LIas noted later on this page.
24909100258SXin LI.Pp
25009100258SXin LINormally, files containing private values,
25109100258SXin LIincluding the host key, sign key and identification parameters,
25209100258SXin LIare permitted root read/write\-only;
25309100258SXin LIwhile others containing public values are permitted world readable.
25409100258SXin LIAlternatively, files containing private values can be encrypted
25509100258SXin LIand these files permitted world readable,
25609100258SXin LIwhich simplifies maintenance in shared file systems.
25709100258SXin LISince uniqueness is insured by the
25809100258SXin LI.Ar hostname
25909100258SXin LIand
26009100258SXin LI.Ar filestamp
26109100258SXin LIfile name extensions, the files for an NTP server and
26209100258SXin LIdependent clients can all be installed in the same shared directory.
26309100258SXin LI.Pp
26409100258SXin LIThe recommended practice is to keep the file name extensions
26509100258SXin LIwhen installing a file and to install a soft link
26609100258SXin LIfrom the generic names specified elsewhere on this page
26709100258SXin LIto the generated files.
26809100258SXin LIThis allows new file generations to be activated simply
26909100258SXin LIby changing the link.
27009100258SXin LIIf a link is present,
27109100258SXin LI.Xr ntpd 1ntpdmdoc
27209100258SXin LIfollows it to the file name to extract the
27309100258SXin LI.Ar filestamp .
27409100258SXin LIIf a link is not present,
27509100258SXin LI.Xr ntpd 1ntpdmdoc
27609100258SXin LIextracts the
27709100258SXin LI.Ar filestamp
27809100258SXin LIfrom the file itself.
27909100258SXin LIThis allows clients to verify that the file and generation times
28009100258SXin LIare always current.
28109100258SXin LIThe
28209100258SXin LI.Nm
28309100258SXin LIprogram uses the same
28409100258SXin LI.Ar filestamp
28509100258SXin LIextension for all files generated
28609100258SXin LIat one time, so each generation is distinct and can be readily
28709100258SXin LIrecognized in monitoring data.
2882b15cb3dSCy Schubert.Pp
2892b15cb3dSCy SchubertRun the command on as many hosts as necessary.
2902b15cb3dSCy SchubertDesignate one of them as the trusted host (TH) using
2912b15cb3dSCy Schubert.Nm
2922b15cb3dSCy Schubertwith the
2932b15cb3dSCy Schubert.Fl T
2942b15cb3dSCy Schubertoption and configure it to synchronize from reliable Internet servers.
2952b15cb3dSCy SchubertThen configure the other hosts to synchronize to the TH directly or
2962b15cb3dSCy Schubertindirectly.
2972b15cb3dSCy SchubertA certificate trail is created when Autokey asks the immediately
2982b15cb3dSCy Schubertascendant host towards the TH to sign its certificate, which is then
2992b15cb3dSCy Schubertprovided to the immediately descendant host on request.
3002b15cb3dSCy SchubertAll group hosts should have acyclic certificate trails ending on the TH.
3012b15cb3dSCy Schubert.Pp
3022b15cb3dSCy SchubertThe host key is used to encrypt the cookie when required and so must be
3032b15cb3dSCy SchubertRSA type.
3042b15cb3dSCy SchubertBy default, the host key is also the sign key used to encrypt
3052b15cb3dSCy Schubertsignatures.
3062b15cb3dSCy SchubertA different sign key can be assigned using the
3072b15cb3dSCy Schubert.Fl S
30809100258SXin LIoption and this can be either
30909100258SXin LI.Cm RSA
31009100258SXin LIor
31109100258SXin LI.Cm DSA
31209100258SXin LItype.
3132b15cb3dSCy SchubertBy default, the signature
31409100258SXin LImessage digest type is
31509100258SXin LI.Cm MD5 ,
31609100258SXin LIbut any combination of sign key type and
3172b15cb3dSCy Schubertmessage digest type supported by the OpenSSL library can be specified
3182b15cb3dSCy Schubertusing the
3192b15cb3dSCy Schubert.Fl c
3202b15cb3dSCy Schubertoption.
32109100258SXin LI.Pp
3222b15cb3dSCy SchubertThe rules say cryptographic media should be generated with proventic
3232b15cb3dSCy Schubertfilestamps, which means the host should already be synchronized before
3242b15cb3dSCy Schubertthis program is run.
3252b15cb3dSCy SchubertThis of course creates a chicken\-and\-egg problem
3262b15cb3dSCy Schubertwhen the host is started for the first time.
3272b15cb3dSCy SchubertAccordingly, the host time
3282b15cb3dSCy Schubertshould be set by some other means, such as eyeball\-and\-wristwatch, at
3292b15cb3dSCy Schubertleast so that the certificate lifetime is within the current year.
3302b15cb3dSCy SchubertAfter that and when the host is synchronized to a proventic source, the
3312b15cb3dSCy Schubertcertificate should be re\-generated.
3322b15cb3dSCy Schubert.Pp
3332b15cb3dSCy SchubertAdditional information on trusted groups and identity schemes is on the
3342b15cb3dSCy Schubert.Dq Autokey Public\-Key Authentication
3352b15cb3dSCy Schubertpage.
3362b15cb3dSCy Schubert.Pp
3372b15cb3dSCy SchubertFile names begin with the prefix
33809100258SXin LI.Pa ntpkey Ns _
33909100258SXin LIand end with the suffix
34009100258SXin LI.Pa _ Ns Ar hostname . Ar filestamp ,
3412b15cb3dSCy Schubertwhere
3422b15cb3dSCy Schubert.Ar hostname
3432b15cb3dSCy Schubertis the owner name, usually the string returned
34409100258SXin LIby the Unix
34509100258SXin LI.Xr hostname 1
34609100258SXin LIcommand, and
3472b15cb3dSCy Schubert.Ar filestamp
3482b15cb3dSCy Schubertis the NTP seconds when the file was generated, in decimal digits.
3492b15cb3dSCy SchubertThis both guarantees uniqueness and simplifies maintenance
3502b15cb3dSCy Schubertprocedures, since all files can be quickly removed
3512b15cb3dSCy Schubertby a
35209100258SXin LI.Ic rm Pa ntpkey\&*
3532b15cb3dSCy Schubertcommand or all files generated
3542b15cb3dSCy Schubertat a specific time can be removed by a
35509100258SXin LI.Ic rm Pa \&* Ns Ar filestamp
3562b15cb3dSCy Schubertcommand.
3572b15cb3dSCy SchubertTo further reduce the risk of misconfiguration,
3582b15cb3dSCy Schubertthe first two lines of a file contain the file name
3592b15cb3dSCy Schubertand generation date and time as comments.
36009100258SXin LI.Ss Trusted Hosts and Groups
3612b15cb3dSCy SchubertEach cryptographic configuration involves selection of a signature scheme
3622b15cb3dSCy Schubertand identification scheme, called a cryptotype,
3632b15cb3dSCy Schubertas explained in the
3642b15cb3dSCy Schubert.Sx Authentication Options
3652b15cb3dSCy Schubertsection of
3662b15cb3dSCy Schubert.Xr ntp.conf 5 .
36709100258SXin LIThe default cryptotype uses
36809100258SXin LI.Cm RSA
36909100258SXin LIencryption,
37009100258SXin LI.Cm MD5
37109100258SXin LImessage digest
37209100258SXin LIand
37309100258SXin LI.Cm TC
37409100258SXin LIidentification.
3752b15cb3dSCy SchubertFirst, configure a NTP subnet including one or more low\-stratum
3762b15cb3dSCy Schuberttrusted hosts from which all other hosts derive synchronization
3772b15cb3dSCy Schubertdirectly or indirectly.
3782b15cb3dSCy SchubertTrusted hosts have trusted certificates;
3792b15cb3dSCy Schubertall other hosts have nontrusted certificates.
3802b15cb3dSCy SchubertThese hosts will automatically and dynamically build authoritative
3812b15cb3dSCy Schubertcertificate trails to one or more trusted hosts.
3822b15cb3dSCy SchubertA trusted group is the set of all hosts that have, directly or indirectly,
3832b15cb3dSCy Schuberta certificate trail ending at a trusted host.
3842b15cb3dSCy SchubertThe trail is defined by static configuration file entries
3852b15cb3dSCy Schubertor dynamic means described on the
3862b15cb3dSCy Schubert.Sx Automatic NTP Configuration Options
3872b15cb3dSCy Schubertsection of
3882b15cb3dSCy Schubert.Xr ntp.conf 5 .
3892b15cb3dSCy Schubert.Pp
3902b15cb3dSCy SchubertOn each trusted host as root, change to the keys directory.
3912b15cb3dSCy SchubertTo insure a fresh fileset, remove all
39209100258SXin LI.Pa ntpkey
3932b15cb3dSCy Schubertfiles.
3942b15cb3dSCy SchubertThen run
3952b15cb3dSCy Schubert.Nm
3962b15cb3dSCy Schubert.Fl T
3972b15cb3dSCy Schubertto generate keys and a trusted certificate.
3982b15cb3dSCy SchubertOn all other hosts do the same, but leave off the
3992b15cb3dSCy Schubert.Fl T
4002b15cb3dSCy Schubertflag to generate keys and nontrusted certificates.
4012b15cb3dSCy SchubertWhen complete, start the NTP daemons beginning at the lowest stratum
4022b15cb3dSCy Schubertand working up the tree.
4032b15cb3dSCy SchubertIt may take some time for Autokey to instantiate the certificate trails
4042b15cb3dSCy Schubertthroughout the subnet, but setting up the environment is completely automatic.
4052b15cb3dSCy Schubert.Pp
4062b15cb3dSCy SchubertIf it is necessary to use a different sign key or different digest/signature
4072b15cb3dSCy Schubertscheme than the default, run
4082b15cb3dSCy Schubert.Nm
4092b15cb3dSCy Schubertwith the
4102b15cb3dSCy Schubert.Fl S Ar type
4112b15cb3dSCy Schubertoption, where
4122b15cb3dSCy Schubert.Ar type
4132b15cb3dSCy Schubertis either
4142b15cb3dSCy Schubert.Cm RSA
4152b15cb3dSCy Schubertor
4162b15cb3dSCy Schubert.Cm DSA .
41709100258SXin LIThe most frequent need to do this is when a
41809100258SXin LI.Cm DSA Ns \-signed
41909100258SXin LIcertificate is used.
4202b15cb3dSCy SchubertIf it is necessary to use a different certificate scheme than the default,
4212b15cb3dSCy Schubertrun
4222b15cb3dSCy Schubert.Nm
4232b15cb3dSCy Schubertwith the
4242b15cb3dSCy Schubert.Fl c Ar scheme
4252b15cb3dSCy Schubertoption and selected
4262b15cb3dSCy Schubert.Ar scheme
4272b15cb3dSCy Schubertas needed.
42809100258SXin LIIf
4292b15cb3dSCy Schubert.Nm
4302b15cb3dSCy Schubertis run again without these options, it generates a new certificate
43109100258SXin LIusing the same scheme and sign key, and soft link.
4322b15cb3dSCy Schubert.Pp
4332b15cb3dSCy SchubertAfter setting up the environment it is advisable to update certificates
4342b15cb3dSCy Schubertfrom time to time, if only to extend the validity interval.
4352b15cb3dSCy SchubertSimply run
4362b15cb3dSCy Schubert.Nm
4372b15cb3dSCy Schubertwith the same flags as before to generate new certificates
43809100258SXin LIusing existing keys, and soft links.
4392b15cb3dSCy SchubertHowever, if the host or sign key is changed,
4402b15cb3dSCy Schubert.Xr ntpd 1ntpdmdoc
4412b15cb3dSCy Schubertshould be restarted.
4422b15cb3dSCy SchubertWhen
4432b15cb3dSCy Schubert.Xr ntpd 1ntpdmdoc
4442b15cb3dSCy Schubertis restarted, it loads any new files and restarts the protocol.
4452b15cb3dSCy SchubertOther dependent hosts will continue as usual until signatures are refreshed,
4462b15cb3dSCy Schubertat which time the protocol is restarted.
4472b15cb3dSCy Schubert.Ss Identity Schemes
4482b15cb3dSCy SchubertAs mentioned on the Autonomous Authentication page,
44909100258SXin LIthe default
45009100258SXin LI.Cm TC
45109100258SXin LIidentity scheme is vulnerable to a middleman attack.
4522b15cb3dSCy SchubertHowever, there are more secure identity schemes available,
45309100258SXin LIincluding
45409100258SXin LI.Cm PC , IFF , GQ
45509100258SXin LIand
45609100258SXin LI.Cm MV
45709100258SXin LIschemes described below.
4582b15cb3dSCy SchubertThese schemes are based on a TA, one or more trusted hosts
4592b15cb3dSCy Schubertand some number of nontrusted hosts.
4602b15cb3dSCy SchubertTrusted hosts prove identity using values provided by the TA,
4612b15cb3dSCy Schubertwhile the remaining hosts prove identity using values provided
4622b15cb3dSCy Schubertby a trusted host and certificate trails that end on that host.
4632b15cb3dSCy SchubertThe name of a trusted host is also the name of its sugroup
4642b15cb3dSCy Schubertand also the subject and issuer name on its trusted certificate.
4652b15cb3dSCy SchubertThe TA is not necessarily a trusted host in this sense, but often is.
4662b15cb3dSCy Schubert.Pp
4672b15cb3dSCy SchubertIn some schemes there are separate keys for servers and clients.
4682b15cb3dSCy SchubertA server can also be a client of another server,
4692b15cb3dSCy Schubertbut a client can never be a server for another client.
4702b15cb3dSCy SchubertIn general, trusted hosts and nontrusted hosts that operate
4712b15cb3dSCy Schubertas both server and client have parameter files that contain
4722b15cb3dSCy Schubertboth server and client keys.
4732b15cb3dSCy SchubertHosts that operate
4742b15cb3dSCy Schubertonly as clients have key files that contain only client keys.
4752b15cb3dSCy Schubert.Pp
4762b15cb3dSCy SchubertThe PC scheme supports only one trusted host in the group.
4772b15cb3dSCy SchubertOn trusted host alice run
4782b15cb3dSCy Schubert.Nm
4792b15cb3dSCy Schubert.Fl P
4802b15cb3dSCy Schubert.Fl p Ar password
4812b15cb3dSCy Schubertto generate the host key file
48209100258SXin LI.Pa ntpkey Ns _ Cm RSA Pa key_alice. Ar filestamp
4832b15cb3dSCy Schubertand trusted private certificate file
48409100258SXin LI.Pa ntpkey Ns _ Cm RSA\-MD5 _ Pa cert_alice. Ar filestamp ,
48509100258SXin LIand soft links.
4862b15cb3dSCy SchubertCopy both files to all group hosts;
4872b15cb3dSCy Schubertthey replace the files which would be generated in other schemes.
48809100258SXin LIOn each host
48909100258SXin LI.Ar bob
49009100258SXin LIinstall a soft link from the generic name
4912b15cb3dSCy Schubert.Pa ntpkey_host_ Ns Ar bob
4922b15cb3dSCy Schubertto the host key file and soft link
4932b15cb3dSCy Schubert.Pa ntpkey_cert_ Ns Ar bob
4942b15cb3dSCy Schubertto the private certificate file.
4952b15cb3dSCy SchubertNote the generic links are on bob, but point to files generated
4962b15cb3dSCy Schubertby trusted host alice.
4972b15cb3dSCy SchubertIn this scheme it is not possible to refresh
4982b15cb3dSCy Schuberteither the keys or certificates without copying them
49909100258SXin LIto all other hosts in the group, and recreating the soft links.
5002b15cb3dSCy Schubert.Pp
50109100258SXin LIFor the
50209100258SXin LI.Cm IFF
50309100258SXin LIscheme proceed as in the
50409100258SXin LI.Cm TC
50509100258SXin LIscheme to generate keys
5062b15cb3dSCy Schubertand certificates for all group hosts, then for every trusted host in the group,
50709100258SXin LIgenerate the
50809100258SXin LI.Cm IFF
50909100258SXin LIparameter file.
5102b15cb3dSCy SchubertOn trusted host alice run
5112b15cb3dSCy Schubert.Nm
5122b15cb3dSCy Schubert.Fl T
5132b15cb3dSCy Schubert.Fl I
5142b15cb3dSCy Schubert.Fl p Ar password
5152b15cb3dSCy Schubertto produce her parameter file
51609100258SXin LI.Pa ntpkey_IFFpar_alice. Ns Ar filestamp ,
5172b15cb3dSCy Schubertwhich includes both server and client keys.
5182b15cb3dSCy SchubertCopy this file to all group hosts that operate as both servers
5192b15cb3dSCy Schubertand clients and install a soft link from the generic
52009100258SXin LI.Pa ntpkey_iff_alice
5212b15cb3dSCy Schubertto this file.
5222b15cb3dSCy SchubertIf there are no hosts restricted to operate only as clients,
5232b15cb3dSCy Schubertthere is nothing further to do.
52409100258SXin LIAs the
52509100258SXin LI.Cm IFF
52609100258SXin LIscheme is independent
5272b15cb3dSCy Schubertof keys and certificates, these files can be refreshed as needed.
5282b15cb3dSCy Schubert.Pp
5292b15cb3dSCy SchubertIf a rogue client has the parameter file, it could masquerade
5302b15cb3dSCy Schubertas a legitimate server and present a middleman threat.
5312b15cb3dSCy SchubertTo eliminate this threat, the client keys can be extracted
5322b15cb3dSCy Schubertfrom the parameter file and distributed to all restricted clients.
5332b15cb3dSCy SchubertAfter generating the parameter file, on alice run
5342b15cb3dSCy Schubert.Nm
5352b15cb3dSCy Schubert.Fl e
53609100258SXin LIand pipe the output to a file or email program.
53709100258SXin LICopy or email this file to all restricted clients.
5382b15cb3dSCy SchubertOn these clients install a soft link from the generic
53909100258SXin LI.Pa ntpkey_iff_alice
5402b15cb3dSCy Schubertto this file.
5412b15cb3dSCy SchubertTo further protect the integrity of the keys,
5422b15cb3dSCy Schuberteach file can be encrypted with a secret password.
5432b15cb3dSCy Schubert.Pp
54409100258SXin LIFor the
54509100258SXin LI.Cm GQ
54609100258SXin LIscheme proceed as in the
54709100258SXin LI.Cm TC
54809100258SXin LIscheme to generate keys
5492b15cb3dSCy Schubertand certificates for all group hosts, then for every trusted host
55009100258SXin LIin the group, generate the
55109100258SXin LI.Cm IFF
55209100258SXin LIparameter file.
5532b15cb3dSCy SchubertOn trusted host alice run
5542b15cb3dSCy Schubert.Nm
5552b15cb3dSCy Schubert.Fl T
5562b15cb3dSCy Schubert.Fl G
5572b15cb3dSCy Schubert.Fl p Ar password
5582b15cb3dSCy Schubertto produce her parameter file
55909100258SXin LI.Pa ntpkey_GQpar_alice. Ns Ar filestamp ,
5602b15cb3dSCy Schubertwhich includes both server and client keys.
5612b15cb3dSCy SchubertCopy this file to all group hosts and install a soft link
5622b15cb3dSCy Schubertfrom the generic
56309100258SXin LI.Pa ntpkey_gq_alice
5642b15cb3dSCy Schubertto this file.
56509100258SXin LIIn addition, on each host
56609100258SXin LI.Ar bob
56709100258SXin LIinstall a soft link
5682b15cb3dSCy Schubertfrom generic
5692b15cb3dSCy Schubert.Pa ntpkey_gq_ Ns Ar bob
5702b15cb3dSCy Schubertto this file.
57109100258SXin LIAs the
57209100258SXin LI.Cm GQ
57309100258SXin LIscheme updates the
57409100258SXin LI.Cm GQ
57509100258SXin LIparameters file and certificate
5762b15cb3dSCy Schubertat the same time, keys and certificates can be regenerated as needed.
5772b15cb3dSCy Schubert.Pp
57809100258SXin LIFor the
57909100258SXin LI.Cm MV
58009100258SXin LIscheme, proceed as in the
58109100258SXin LI.Cm TC
58209100258SXin LIscheme to generate keys
5832b15cb3dSCy Schubertand certificates for all group hosts.
5842b15cb3dSCy SchubertFor illustration assume trish is the TA, alice one of several trusted hosts
5852b15cb3dSCy Schubertand bob one of her clients.
5862b15cb3dSCy SchubertOn TA trish run
5872b15cb3dSCy Schubert.Nm
5882b15cb3dSCy Schubert.Fl V Ar n
5892b15cb3dSCy Schubert.Fl p Ar password ,
5902b15cb3dSCy Schubertwhere
5912b15cb3dSCy Schubert.Ar n
5922b15cb3dSCy Schubertis the number of revokable keys (typically 5) to produce
5932b15cb3dSCy Schubertthe parameter file
59409100258SXin LI.Pa ntpkeys_MVpar_trish. Ns Ar filestamp
5952b15cb3dSCy Schubertand client key files
59609100258SXin LI.Pa ntpkeys_MVkey Ns Ar d _ Pa trish. Ar filestamp
5972b15cb3dSCy Schubertwhere
5982b15cb3dSCy Schubert.Ar d
5992b15cb3dSCy Schubertis the key number (0 \&<
6002b15cb3dSCy Schubert.Ar d
6012b15cb3dSCy Schubert\&<
6022b15cb3dSCy Schubert.Ar n ) .
6032b15cb3dSCy SchubertCopy the parameter file to alice and install a soft link
6042b15cb3dSCy Schubertfrom the generic
60509100258SXin LI.Pa ntpkey_mv_alice
6062b15cb3dSCy Schubertto this file.
6072b15cb3dSCy SchubertCopy one of the client key files to alice for later distribution
6082b15cb3dSCy Schubertto her clients.
60909100258SXin LIIt does not matter which client key file goes to alice,
6102b15cb3dSCy Schubertsince they all work the same way.
61109100258SXin LIAlice copies the client key file to all of her clients.
6122b15cb3dSCy SchubertOn client bob install a soft link from generic
61309100258SXin LI.Pa ntpkey_mvkey_bob
6142b15cb3dSCy Schubertto the client key file.
61509100258SXin LIAs the
61609100258SXin LI.Cm MV
61709100258SXin LIscheme is independent of keys and certificates,
6182b15cb3dSCy Schubertthese files can be refreshed as needed.
6192b15cb3dSCy Schubert.Ss Command Line Options
6202b15cb3dSCy Schubert.Bl -tag -width indent
62109100258SXin LI.It Fl b Fl \-imbits Ns = Ar modulus
62209100258SXin LISet the number of bits in the identity modulus for generating identity keys to
62309100258SXin LI.Ar modulus
62409100258SXin LIbits.
62509100258SXin LIThe number of bits in the identity modulus defaults to 256, but can be set to
62609100258SXin LIvalues from 256 to 2048 (32 to 256 octets).
62709100258SXin LIUse the larger moduli with caution, as this can consume considerable computing
62809100258SXin LIresources and increases the size of authenticated packets.
62909100258SXin LI.It Fl c Fl \-certificate Ns = Ar scheme
63009100258SXin LISelect certificate signature encryption/message digest scheme.
6312b15cb3dSCy SchubertThe
6322b15cb3dSCy Schubert.Ar scheme
6332b15cb3dSCy Schubertcan be one of the following:
63409100258SXin LI.Cm RSA\-MD2 , RSA\-MD5 , RSA\-MDC2 , RSA\-SHA , RSA\-SHA1 , RSA\-RIPEMD160 , DSA\-SHA ,
6352b15cb3dSCy Schubertor
6362b15cb3dSCy Schubert.Cm DSA\-SHA1 .
63709100258SXin LINote that
63809100258SXin LI.Cm RSA
63909100258SXin LIschemes must be used with an
64009100258SXin LI.Cm RSA
64109100258SXin LIsign key and
64209100258SXin LI.Cm DSA
64309100258SXin LIschemes must be used with a
64409100258SXin LI.Cm DSA
64509100258SXin LIsign key.
6462b15cb3dSCy SchubertThe default without this option is
6472b15cb3dSCy Schubert.Cm RSA\-MD5 .
64809100258SXin LIIf compatibility with FIPS 140\-2 is required, either the
64909100258SXin LI.Cm DSA\-SHA
65009100258SXin LIor
65109100258SXin LI.Cm DSA\-SHA1
65209100258SXin LIscheme must be used.
65309100258SXin LI.It Fl C Fl \-cipher Ns = Ar cipher
65409100258SXin LISelect the OpenSSL cipher to encrypt the files containing private keys.
65509100258SXin LIThe default without this option is three\-key triple DES in CBC mode,
65609100258SXin LI.Cm des\-ede3\-cbc .
65709100258SXin LIThe
65809100258SXin LI.Ic openssl Fl h
65909100258SXin LIcommand provided with OpenSSL displays available ciphers.
66009100258SXin LI.It Fl d Fl \-debug\-level
66109100258SXin LIIncrease debugging verbosity level.
6622b15cb3dSCy SchubertThis option displays the cryptographic data produced in eye\-friendly billboards.
66309100258SXin LI.It Fl D Fl \-set\-debug\-level Ns = Ar level
66409100258SXin LISet the debugging verbosity to
66509100258SXin LI.Ar level .
66609100258SXin LIThis option displays the cryptographic data produced in eye\-friendly billboards.
66709100258SXin LI.It Fl e Fl \-id\-key
66809100258SXin LIWrite the
66909100258SXin LI.Cm IFF
67009100258SXin LIor
67109100258SXin LI.Cm GQ
67209100258SXin LIpublic parameters from the
67309100258SXin LI.Ar IFFkey or GQkey
67409100258SXin LIclient keys file previously specified
67509100258SXin LIas unencrypted data to the standard output stream
67609100258SXin LI.Pa stdout .
67709100258SXin LIThis is intended for automatic key distribution by email.
67809100258SXin LI.It Fl G Fl \-gq\-params
67909100258SXin LIGenerate a new encrypted
68009100258SXin LI.Cm GQ
68109100258SXin LIparameters and key file for the Guillou\-Quisquater (GQ) identity scheme.
68209100258SXin LIThis option is mutually exclusive with the
68309100258SXin LI.Fl I
68409100258SXin LIand
68509100258SXin LI.Fl V
68609100258SXin LIoptions.
68709100258SXin LI.It Fl H Fl \-host\-key
68809100258SXin LIGenerate a new encrypted
68909100258SXin LI.Cm RSA
69009100258SXin LIpublic/private host key file.
69109100258SXin LI.It Fl I Fl \-iffkey
69209100258SXin LIGenerate a new encrypted
69309100258SXin LI.Cm IFF
69409100258SXin LIkey file for the Schnorr (IFF) identity scheme.
69509100258SXin LIThis option is mutually exclusive with the
69609100258SXin LI.Fl G
69709100258SXin LIand
69809100258SXin LIFl V
69909100258SXin LIoptions.
70009100258SXin LI.It Fl i Fl \-ident Ns = Ar group
70109100258SXin LISet the optional Autokey group name to
70209100258SXin LI.Ar group .
70309100258SXin LIThis is used in the identity scheme parameter file names of
70409100258SXin LI.Cm IFF , GQ ,
70509100258SXin LIand
70609100258SXin LI.Cm MV
70709100258SXin LIclient parameters files.
70809100258SXin LIIn that role, the default is the host name if no group is provided.
70909100258SXin LIThe group name, if specified using
71009100258SXin LI.Fl i
71109100258SXin LIor
71209100258SXin LI.Fl s
71309100258SXin LIfollowing an
71409100258SXin LI.Ql @
71509100258SXin LIcharacter, is also used in certificate subject and issuer names in the form
71609100258SXin LI.Ar host @ group
71709100258SXin LIand should match the group specified via
71809100258SXin LI.Ic crypto Cm ident
71909100258SXin LIor
72009100258SXin LI.Ic server Cm ident
72109100258SXin LIin the ntpd configuration file.
72209100258SXin LI.It Fl l Fl \-lifetime Ns = Ar days
72309100258SXin LISet the lifetime for certificate expiration to
72409100258SXin LI.Ar days .
72509100258SXin LIThe default lifetime is one year (365 days).
72609100258SXin LI.It Fl m Fl \-modulus Ns = Ar bits
72709100258SXin LISet the number of bits in the prime modulus for generating files to
72809100258SXin LI.Ar bits .
72909100258SXin LIThe modulus defaults to 512, but can be set from 256 to 2048 (32 to 256 octets).
73009100258SXin LIUse the larger moduli with caution, as this can consume considerable computing
73109100258SXin LIresources and increases the size of authenticated packets.
73209100258SXin LI.It Fl M Fl \-md5key
73309100258SXin LIGenerate a new symmetric keys file containing 10
73409100258SXin LI.Cm MD5
73509100258SXin LIkeys, and if OpenSSL is available, 10
73609100258SXin LI.Cm SHA
73709100258SXin LIkeys.
73809100258SXin LIAn
73909100258SXin LI.Cm MD5
74009100258SXin LIkey is a string of 20 random printable ASCII characters, while a
74109100258SXin LI.Cm SHA
74209100258SXin LIkey is a string of 40 random hex digits.
74309100258SXin LIThe file can be edited using a text editor to change the key type or key content.
74409100258SXin LIThis option is mutually exclusive with all other options.
74509100258SXin LI.It Fl p Fl \-password Ns = Ar passwd
74609100258SXin LISet the password for reading and writing encrypted files to
74709100258SXin LI.Ar passwd .
74809100258SXin LIThese include the host, sign and identify key files.
74909100258SXin LIBy default, the password is the string returned by the Unix
75009100258SXin LI.Ic hostname
75109100258SXin LIcommand.
75209100258SXin LI.It Fl P Fl \-pvt\-cert
75309100258SXin LIGenerate a new private certificate used by the
75409100258SXin LI.Cm PC
75509100258SXin LIidentity scheme.
7562b15cb3dSCy SchubertBy default, the program generates public certificates.
75709100258SXin LINote: the PC identity scheme is not recommended for new installations.
75809100258SXin LI.It Fl q Fl \-export\-passwd Ns = Ar passwd
75909100258SXin LISet the password for writing encrypted
76009100258SXin LI.Cm IFF , GQ and MV
76109100258SXin LIidentity files redirected to
76209100258SXin LI.Pa stdout
76309100258SXin LIto
76409100258SXin LI.Ar passwd .
76509100258SXin LIIn effect, these files are decrypted with the
76609100258SXin LI.Fl p
76709100258SXin LIpassword, then encrypted with the
76809100258SXin LI.Fl q
76909100258SXin LIpassword.
77009100258SXin LIBy default, the password is the string returned by the Unix
77109100258SXin LI.Ic hostname
77209100258SXin LIcommand.
77309100258SXin LI.It Fl s Fl \-subject\-key Ns = Ar Oo host Oc Op @ Ar group
77409100258SXin LISpecify the Autokey host name, where
77509100258SXin LI.Ar host
77609100258SXin LIis the optional host name and
77709100258SXin LI.Ar group
77809100258SXin LIis the optional group name.
77909100258SXin LIThe host name, and if provided, group name are used in
78009100258SXin LI.Ar host @ group
78109100258SXin LIform as certificate subject and issuer.
78209100258SXin LISpecifying
78309100258SXin LI.Fl s @ Ar group
78409100258SXin LIis allowed, and results in leaving the host name unchanged, as with
78509100258SXin LI.Fl i Ar group .
78609100258SXin LIThe group name, or if no group is provided, the host name are also used in the
78709100258SXin LIfile names of
78809100258SXin LI.Cm IFF , GQ ,
78909100258SXin LIand
79009100258SXin LI.Cm MV
79109100258SXin LIidentity scheme client parameter files.
79209100258SXin LIIf
79309100258SXin LI.Ar host
79409100258SXin LIis not specified, the default host name is the string returned by the Unix
79509100258SXin LI.Ic hostname
79609100258SXin LIcommand.
79709100258SXin LI.It Fl S Fl \-sign\-key Ns = Op Cm RSA | DSA
79809100258SXin LIGenerate a new encrypted public/private sign key file of the specified type.
79909100258SXin LIBy default, the sign key is the host key and has the same type.
80009100258SXin LIIf compatibility with FIPS 140\-2 is required, the sign key type must be
80109100258SXin LI.Cm DSA .
80209100258SXin LI.It Fl T Fl \-trusted\-cert
8032b15cb3dSCy SchubertGenerate a trusted certificate.
8042b15cb3dSCy SchubertBy default, the program generates a non\-trusted certificate.
80509100258SXin LI.It Fl V Fl \-mv\-params Ar nkeys
80609100258SXin LIGenerate
80709100258SXin LI.Ar nkeys
80809100258SXin LIencrypted server keys and parameters for the Mu\-Varadharajan (MV)
80909100258SXin LIidentity scheme.
81009100258SXin LIThis option is mutually exclusive with the
81109100258SXin LI.Fl I
81209100258SXin LIand
81309100258SXin LI.Fl G
81409100258SXin LIoptions.
81509100258SXin LINote: support for this option should be considered a work in progress.
8162b15cb3dSCy Schubert.El
8172b15cb3dSCy Schubert.Ss Random Seed File
8182b15cb3dSCy SchubertAll cryptographically sound key generation schemes must have means
8192b15cb3dSCy Schubertto randomize the entropy seed used to initialize
8202b15cb3dSCy Schubertthe internal pseudo\-random number generator used
8212b15cb3dSCy Schubertby the library routines.
8222b15cb3dSCy SchubertThe OpenSSL library uses a designated random seed file for this purpose.
8232b15cb3dSCy SchubertThe file must be available when starting the NTP daemon and
8242b15cb3dSCy Schubert.Nm
8252b15cb3dSCy Schubertprogram.
8262b15cb3dSCy SchubertIf a site supports OpenSSL or its companion OpenSSH,
8272b15cb3dSCy Schubertit is very likely that means to do this are already available.
8282b15cb3dSCy Schubert.Pp
8292b15cb3dSCy SchubertIt is important to understand that entropy must be evolved
8302b15cb3dSCy Schubertfor each generation, for otherwise the random number sequence
8312b15cb3dSCy Schubertwould be predictable.
8322b15cb3dSCy SchubertVarious means dependent on external events, such as keystroke intervals,
8332b15cb3dSCy Schubertcan be used to do this and some systems have built\-in entropy sources.
8342b15cb3dSCy SchubertSuitable means are described in the OpenSSL software documentation,
8352b15cb3dSCy Schubertbut are outside the scope of this page.
8362b15cb3dSCy Schubert.Pp
8372b15cb3dSCy SchubertThe entropy seed used by the OpenSSL library is contained in a file,
8382b15cb3dSCy Schubertusually called
83909100258SXin LI.Pa .rnd ,
8402b15cb3dSCy Schubertwhich must be available when starting the NTP daemon
8412b15cb3dSCy Schubertor the
8422b15cb3dSCy Schubert.Nm
8432b15cb3dSCy Schubertprogram.
8442b15cb3dSCy SchubertThe NTP daemon will first look for the file
8452b15cb3dSCy Schubertusing the path specified by the
84609100258SXin LI.Cm randfile
8472b15cb3dSCy Schubertsubcommand of the
8482b15cb3dSCy Schubert.Ic crypto
8492b15cb3dSCy Schubertconfiguration command.
8502b15cb3dSCy SchubertIf not specified in this way, or when starting the
8512b15cb3dSCy Schubert.Nm
8522b15cb3dSCy Schubertprogram,
8532b15cb3dSCy Schubertthe OpenSSL library will look for the file using the path specified
8542b15cb3dSCy Schubertby the
8552b15cb3dSCy Schubert.Ev RANDFILE
8562b15cb3dSCy Schubertenvironment variable in the user home directory,
8572b15cb3dSCy Schubertwhether root or some other user.
8582b15cb3dSCy SchubertIf the
8592b15cb3dSCy Schubert.Ev RANDFILE
8602b15cb3dSCy Schubertenvironment variable is not present,
8612b15cb3dSCy Schubertthe library will look for the
86209100258SXin LI.Pa .rnd
8632b15cb3dSCy Schubertfile in the user home directory.
86409100258SXin LISince both the
86509100258SXin LI.Nm
86609100258SXin LIprogram and
86709100258SXin LI.Xr ntpd 1ntpdmdoc
86809100258SXin LIdaemon must run as root, the logical place to put this file is in
86909100258SXin LI.Pa /.rnd
87009100258SXin LIor
87109100258SXin LI.Pa /root/.rnd .
8722b15cb3dSCy SchubertIf the file is not available or cannot be written,
8732b15cb3dSCy Schubertthe daemon exits with a message to the system log and the program
8742b15cb3dSCy Schubertexits with a suitable error message.
8752b15cb3dSCy Schubert.Ss Cryptographic Data Files
87609100258SXin LIAll file formats begin with two nonencrypted lines.
87709100258SXin LIThe first line contains the file name, including the generated host name
87809100258SXin LIand filestamp, in the format
87909100258SXin LI.Pa ntpkey_ Ns Ar key _ Ar name . Ar filestamp ,
88009100258SXin LIwhere
88109100258SXin LI.Ar key
88209100258SXin LIis the key or parameter type,
88309100258SXin LI.Ar name
88409100258SXin LIis the host or group name and
88509100258SXin LI.Ar filestamp
88609100258SXin LIis the filestamp (NTP seconds) when the file was created.
88709100258SXin LIBy convention,
88809100258SXin LI.Ar key
88909100258SXin LInames in generated file names include both upper and lower case
89009100258SXin LIcharacters, while
89109100258SXin LI.Ar key
89209100258SXin LInames in generated link names include only lower case characters.
89309100258SXin LIThe filestamp is not used in generated link names.
89409100258SXin LIThe second line contains the datestamp in conventional Unix
89509100258SXin LI.Pa date
89609100258SXin LIformat.
89709100258SXin LILines beginning with
89809100258SXin LI.Ql #
89909100258SXin LIare considered comments and ignored by the
9002b15cb3dSCy Schubert.Nm
9012b15cb3dSCy Schubertprogram and
9022b15cb3dSCy Schubert.Xr ntpd 1ntpdmdoc
9032b15cb3dSCy Schubertdaemon.
9042b15cb3dSCy Schubert.Pp
90509100258SXin LIThe remainder of the file contains cryptographic data, encoded first using ASN.1
90609100258SXin LIrules, then encrypted if necessary, and finally written in PEM\-encoded
90709100258SXin LIprintable ASCII text, preceded and followed by MIME content identifier lines.
90809100258SXin LI.Pp
90909100258SXin LIThe format of the symmetric keys file, ordinarily named
91009100258SXin LI.Pa ntp.keys ,
91109100258SXin LIis somewhat different than the other files in the interest of backward compatibility.
91209100258SXin LIOrdinarily, the file is generated by this program, but it can be constructed
91309100258SXin LIand edited using an ordinary text editor.
91409100258SXin LI.Bd -literal -unfilled -offset center
91509100258SXin LI# ntpkey_MD5key_bk.ntp.org.3595864945
91609100258SXin LI# Thu Dec 12 19:22:25 2013
91709100258SXin LI1  MD5 L";Nw<\`.I<f4U0)247"i  # MD5 key
91809100258SXin LI2  MD5 &>l0%XXK9O'51VwV<xq~  # MD5 key
91909100258SXin LI3  MD5 lb4zLW~d^!K:]RsD'qb6  # MD5 key
92009100258SXin LI4  MD5 Yue:tL[+vR)M\`n~bY,'?  # MD5 key
92109100258SXin LI5  MD5 B;fx'Kgr/&4ZTbL6=RxA  # MD5 key
92209100258SXin LI6  MD5 4eYwa\`o}3i@@V@..R9!l  # MD5 key
92309100258SXin LI7  MD5 \`A.([h+;wTQ|xfi%Sn_!  # MD5 key
92409100258SXin LI8  MD5 45:V,r4]l6y^JH6"Sh?F  # MD5 key
92509100258SXin LI9  MD5 3\-5vcn*6l29DS?Xdsg)*  # MD5 key
92609100258SXin LI10 MD5 2late4Me              # MD5 key
92709100258SXin LI11 SHA1 a27872d3030a9025b8446c751b4551a7629af65c  # SHA1 key
92809100258SXin LI12 SHA1 21bc3b4865dbb9e920902abdccb3e04ff97a5e74  # SHA1 key
92909100258SXin LI13 SHA1 2b7736fe24fef5ba85ae11594132ab5d6f6daba9  # SHA1 key
93009100258SXin LI14 SHA  a5332809c8878dd3a5b918819108a111509aeceb  # SHA  key
93109100258SXin LI15 MD2  2fe16c88c760ff2f16d4267e36c1aa6c926e6964  # MD2  key
93209100258SXin LI16 MD4  b2691811dc19cfc0e2f9bcacd74213f29812183d  # MD4  key
93309100258SXin LI17 MD5  e4d6735b8bdad58ec5ffcb087300a17f7fef1f7c  # MD5  key
93409100258SXin LI18 MDC2 a8d5e2315c025bf3a79174c87fbd10477de2eabc  # MDC2 key
93509100258SXin LI19 RIPEMD160 77ca332cafb30e3cafb174dcd5b80ded7ba9b3d2  # RIPEMD160 key
93609100258SXin LI20 AES128CMAC f92ff73eee86c1e7dc638d6489a04e4e555af878  # AES128CMAC key
93709100258SXin LI.Ed
93809100258SXin LI.D1 Figure 1. Typical Symmetric Key File
93909100258SXin LI.Pp
94009100258SXin LIFigure 1 shows a typical symmetric keys file used by the reference
94109100258SXin LIimplementation.
94209100258SXin LIFollowing the header the keys are entered one per line in the format
94309100258SXin LI.D1 Ar keyno Ar type Ar key
9442b15cb3dSCy Schubertwhere
9452b15cb3dSCy Schubert.Ar keyno
9464e1ef62aSXin LIis a positive integer in the range 1\-65535;
9472b15cb3dSCy Schubert.Ar type
94809100258SXin LIis the key type for the message digest algorithm, which in the absence of the
94909100258SXin LIOpenSSL library must be
95009100258SXin LI.Cm MD5
95109100258SXin LIto designate the MD5 message digest algorithm;
95209100258SXin LIif the OpenSSL library is installed, the key type can be any
95309100258SXin LImessage digest algorithm supported by that library;
95409100258SXin LIhowever, if compatibility with FIPS 140\-2 is required,
95509100258SXin LIthe key type must be either
95609100258SXin LI.Cm SHA
95709100258SXin LIor
95809100258SXin LI.Cm SHA1 ;
9592b15cb3dSCy Schubert.Ar key
9602b15cb3dSCy Schubertis the key itself,
96109100258SXin LIwhich is a printable ASCII string 20 characters or less in length:
96209100258SXin LIeach character is chosen from the 93 printable characters
96309100258SXin LIin the range 0x21 through 0x7e (
96409100258SXin LI.Ql !
96509100258SXin LIthrough
96609100258SXin LI.Ql ~
96709100258SXin LI\&) excluding space and the
96809100258SXin LI.Ql #
96909100258SXin LIcharacter, and terminated by whitespace or a
9702b15cb3dSCy Schubert.Ql #
9712b15cb3dSCy Schubertcharacter.
97209100258SXin LIAn OpenSSL key consists of a hex\-encoded ASCII string of 40 characters, which
97309100258SXin LIis truncated as necessary.
9742b15cb3dSCy Schubert.Pp
9752b15cb3dSCy SchubertNote that the keys used by the
9762b15cb3dSCy Schubert.Xr ntpq 1ntpqmdoc
9772b15cb3dSCy Schubertand
9782b15cb3dSCy Schubert.Xr ntpdc 1ntpdcmdoc
9792b15cb3dSCy Schubertprograms
9802b15cb3dSCy Schubertare checked against passwords requested by the programs
9812b15cb3dSCy Schubertand entered by hand, so it is generally appropriate to specify these keys
9822b15cb3dSCy Schubertin human readable ASCII format.
9832b15cb3dSCy Schubert.Pp
9842b15cb3dSCy SchubertThe
9852b15cb3dSCy Schubert.Nm
98609100258SXin LIprogram generates a symmetric keys file
98709100258SXin LI.Pa ntpkey_MD5key_ Ns Ar hostname Ns . Ns Ar filestamp .
9882b15cb3dSCy SchubertSince the file contains private shared keys,
9892b15cb3dSCy Schubertit should be visible only to root and distributed by secure means
9902b15cb3dSCy Schubertto other subnet hosts.
9912b15cb3dSCy SchubertThe NTP daemon loads the file
9922b15cb3dSCy Schubert.Pa ntp.keys ,
9932b15cb3dSCy Schubertso
9942b15cb3dSCy Schubert.Nm
9952b15cb3dSCy Schubertinstalls a soft link from this name to the generated file.
9962b15cb3dSCy SchubertSubsequently, similar soft links must be installed by manual
9972b15cb3dSCy Schubertor automated means on the other subnet hosts.
9982b15cb3dSCy SchubertWhile this file is not used with the Autokey Version 2 protocol,
9992b15cb3dSCy Schubertit is needed to authenticate some remote configuration commands
10002b15cb3dSCy Schubertused by the
10012b15cb3dSCy Schubert.Xr ntpq 1ntpqmdoc
10022b15cb3dSCy Schubertand
10032b15cb3dSCy Schubert.Xr ntpdc 1ntpdcmdoc
10042b15cb3dSCy Schubertutilities.
10052b15cb3dSCy Schubert.Sh "OPTIONS"
10062b15cb3dSCy Schubert.Bl -tag
10072b15cb3dSCy Schubert.It  Fl b Ar imbits , Fl \-imbits Ns = Ns Ar imbits
10082b15cb3dSCy Schubertidentity modulus bits.
10092b15cb3dSCy SchubertThis option takes an integer number as its argument.
10102b15cb3dSCy SchubertThe value of
10112b15cb3dSCy Schubert.Ar imbits
10122b15cb3dSCy Schubertis constrained to being:
10132b15cb3dSCy Schubert.in +4
10142b15cb3dSCy Schubert.nf
10152b15cb3dSCy Schubert.na
10162b15cb3dSCy Schubertin the range  256 through 2048
10172b15cb3dSCy Schubert.fi
10182b15cb3dSCy Schubert.in -4
10192b15cb3dSCy Schubert.sp
1020a466cc55SCy SchubertThe number of bits in the identity modulus.  The default is 512.
10212b15cb3dSCy Schubert.It  Fl c Ar scheme , Fl \-certificate Ns = Ns Ar scheme
10222b15cb3dSCy Schubertcertificate scheme.
10232b15cb3dSCy Schubert.sp
10242b15cb3dSCy Schubertscheme is one of
102509100258SXin LIRSA\-MD2, RSA\-MD5, RSA\-MDC2, RSA\-SHA, RSA\-SHA1, RSA\-RIPEMD160,
10262b15cb3dSCy SchubertDSA\-SHA, or DSA\-SHA1.
10272b15cb3dSCy Schubert.sp
102809100258SXin LISelect the certificate signature encryption/message digest scheme.
10292b15cb3dSCy SchubertNote that RSA schemes must be used with a RSA sign key and DSA
10302b15cb3dSCy Schubertschemes must be used with a DSA sign key.  The default without
10312b15cb3dSCy Schubertthis option is RSA\-MD5.
10322b15cb3dSCy Schubert.It  Fl C Ar cipher , Fl \-cipher Ns = Ns Ar cipher
10332b15cb3dSCy Schubertprivatekey cipher.
10342b15cb3dSCy Schubert.sp
10352b15cb3dSCy SchubertSelect the cipher which is used to encrypt the files containing
10362b15cb3dSCy Schubertprivate keys.  The default is three\-key triple DES in CBC mode,
103709100258SXin LIequivalent to "\fB\-C des\-ede3\-cbc\fP".  The openssl tool lists ciphers
10382b15cb3dSCy Schubertavailable in "\fBopenssl \-h\fP" output.
10392b15cb3dSCy Schubert.It  Fl d , Fl \-debug\-level
10402b15cb3dSCy SchubertIncrease debug verbosity level.
10412b15cb3dSCy SchubertThis option may appear an unlimited number of times.
10422b15cb3dSCy Schubert.sp
10432b15cb3dSCy Schubert.It  Fl D Ar number , Fl \-set\-debug\-level Ns = Ns Ar number
10442b15cb3dSCy SchubertSet the debug verbosity level.
10452b15cb3dSCy SchubertThis option may appear an unlimited number of times.
10462b15cb3dSCy SchubertThis option takes an integer number as its argument.
10472b15cb3dSCy Schubert.sp
10482b15cb3dSCy Schubert.It  Fl e , Fl \-id\-key
10492b15cb3dSCy SchubertWrite IFF or GQ identity keys.
10502b15cb3dSCy Schubert.sp
105109100258SXin LIWrite the public parameters from the IFF or GQ client keys to
105209100258SXin LIthe standard output.
105309100258SXin LIThis is intended for automatic key distribution by email.
10542b15cb3dSCy Schubert.It  Fl G , Fl \-gq\-params
10552b15cb3dSCy SchubertGenerate GQ parameters and keys.
10562b15cb3dSCy Schubert.sp
10572b15cb3dSCy SchubertGenerate parameters and keys for the GQ identification scheme,
10582b15cb3dSCy Schubertobsoleting any that may exist.
10592b15cb3dSCy Schubert.It  Fl H , Fl \-host\-key
10602b15cb3dSCy Schubertgenerate RSA host key.
10612b15cb3dSCy Schubert.sp
10622b15cb3dSCy SchubertGenerate new host keys, obsoleting any that may exist.
10632b15cb3dSCy Schubert.It  Fl I , Fl \-iffkey
10642b15cb3dSCy Schubertgenerate IFF parameters.
10652b15cb3dSCy Schubert.sp
10662b15cb3dSCy SchubertGenerate parameters for the IFF identification scheme, obsoleting
10672b15cb3dSCy Schubertany that may exist.
10682b15cb3dSCy Schubert.It  Fl i Ar group , Fl \-ident Ns = Ns Ar group
10692b15cb3dSCy Schubertset Autokey group name.
10702b15cb3dSCy Schubert.sp
10712b15cb3dSCy SchubertSet the optional Autokey group name to name.  This is used in
10722b15cb3dSCy Schubertthe file name of IFF, GQ, and MV client parameters files.  In
10732b15cb3dSCy Schubertthat role, the default is the host name if this option is not
10742b15cb3dSCy Schubertprovided.  The group name, if specified using \fB\-i/\-\-ident\fP or
10752b15cb3dSCy Schubertusing \fB\-s/\-\-subject\-name\fP following an '\fB@\fP' character,
107609100258SXin LIis also a part of the self\-signed host certificate subject and
10772b15cb3dSCy Schubertissuer names in the form \fBhost@group\fP and should match the
107809100258SXin LI\'\fBcrypto ident\fP' or '\fBserver ident\fP' configuration in the
107909100258SXin LI\fBntpd\fP configuration file.
10802b15cb3dSCy Schubert.It  Fl l Ar lifetime , Fl \-lifetime Ns = Ns Ar lifetime
10812b15cb3dSCy Schubertset certificate lifetime.
10822b15cb3dSCy SchubertThis option takes an integer number as its argument.
10832b15cb3dSCy Schubert.sp
10842b15cb3dSCy SchubertSet the certificate expiration to lifetime days from now.
10852b15cb3dSCy Schubert.It  Fl m Ar modulus , Fl \-modulus Ns = Ns Ar modulus
108609100258SXin LIprime modulus.
10872b15cb3dSCy SchubertThis option takes an integer number as its argument.
10882b15cb3dSCy SchubertThe value of
10892b15cb3dSCy Schubert.Ar modulus
10902b15cb3dSCy Schubertis constrained to being:
10912b15cb3dSCy Schubert.in +4
10922b15cb3dSCy Schubert.nf
10932b15cb3dSCy Schubert.na
10942b15cb3dSCy Schubertin the range  256 through 2048
10952b15cb3dSCy Schubert.fi
10962b15cb3dSCy Schubert.in -4
10972b15cb3dSCy Schubert.sp
10982b15cb3dSCy SchubertThe number of bits in the prime modulus.  The default is 512.
109909100258SXin LI.It  Fl M , Fl \-md5key
110009100258SXin LIgenerate symmetric keys.
110109100258SXin LI.sp
110209100258SXin LIGenerate symmetric keys, obsoleting any that may exist.
11032b15cb3dSCy Schubert.It  Fl P , Fl \-pvt\-cert
11042b15cb3dSCy Schubertgenerate PC private certificate.
11052b15cb3dSCy Schubert.sp
11062b15cb3dSCy SchubertGenerate a private certificate.  By default, the program generates
11072b15cb3dSCy Schubertpublic certificates.
11082b15cb3dSCy Schubert.It  Fl p Ar passwd , Fl \-password Ns = Ns Ar passwd
11092b15cb3dSCy Schubertlocal private password.
11102b15cb3dSCy Schubert.sp
11112b15cb3dSCy SchubertLocal files containing private data are encrypted with the
11122b15cb3dSCy SchubertDES\-CBC algorithm and the specified password.  The same password
11132b15cb3dSCy Schubertmust be specified to the local ntpd via the "crypto pw password"
11142b15cb3dSCy Schubertconfiguration command.  The default password is the local
11152b15cb3dSCy Schuberthostname.
11162b15cb3dSCy Schubert.It  Fl q Ar passwd , Fl \-export\-passwd Ns = Ns Ar passwd
11172b15cb3dSCy Schubertexport IFF or GQ group keys with password.
11182b15cb3dSCy Schubert.sp
11192b15cb3dSCy SchubertExport IFF or GQ identity group keys to the standard output,
11202b15cb3dSCy Schubertencrypted with the DES\-CBC algorithm and the specified password.
11212b15cb3dSCy SchubertThe same password must be specified to the remote ntpd via the
11222b15cb3dSCy Schubert"crypto pw password" configuration command.  See also the option
11232b15cb3dSCy Schubert-\-id\-key (\-e) for unencrypted exports.
11242b15cb3dSCy Schubert.It  Fl s Ar host@group , Fl \-subject\-name Ns = Ns Ar host@group
11252b15cb3dSCy Schubertset host and optionally group name.
11262b15cb3dSCy Schubert.sp
11272b15cb3dSCy SchubertSet the Autokey host name, and optionally, group name specified
11282b15cb3dSCy Schubertfollowing an '\fB@\fP' character.  The host name is used in the file
11292b15cb3dSCy Schubertname of generated host and signing certificates, without the
11302b15cb3dSCy Schubertgroup name.  The host name, and if provided, group name are used
113109100258SXin LIin \fBhost@group\fP form for the host certificate subject and issuer
11322b15cb3dSCy Schubertfields.  Specifying '\fB\-s @group\fP' is allowed, and results in
11332b15cb3dSCy Schubertleaving the host name unchanged while appending \fB@group\fP to the
11342b15cb3dSCy Schubertsubject and issuer fields, as with \fB\-i group\fP.  The group name, or
11352b15cb3dSCy Schubertif not provided, the host name are also used in the file names
11362b15cb3dSCy Schubertof IFF, GQ, and MV client parameter files.
113709100258SXin LI.It  Fl S Ar sign , Fl \-sign\-key Ns = Ns Ar sign
113809100258SXin LIgenerate sign key (RSA or DSA).
113909100258SXin LI.sp
114009100258SXin LIGenerate a new sign key of the designated type, obsoleting any
114109100258SXin LIthat may exist.  By default, the program uses the host key as the
114209100258SXin LIsign key.
11432b15cb3dSCy Schubert.It  Fl T , Fl \-trusted\-cert
11442b15cb3dSCy Schuberttrusted certificate (TC scheme).
11452b15cb3dSCy Schubert.sp
11462b15cb3dSCy SchubertGenerate a trusted certificate.  By default, the program generates
11472b15cb3dSCy Schuberta non\-trusted certificate.
11482b15cb3dSCy Schubert.It  Fl V Ar num , Fl \-mv\-params Ns = Ns Ar num
11492b15cb3dSCy Schubertgenerate <num> MV parameters.
11502b15cb3dSCy SchubertThis option takes an integer number as its argument.
11512b15cb3dSCy Schubert.sp
11522b15cb3dSCy SchubertGenerate parameters and keys for the Mu\-Varadharajan (MV)
11532b15cb3dSCy Schubertidentification scheme.
11542b15cb3dSCy Schubert.It  Fl v Ar num , Fl \-mv\-keys Ns = Ns Ar num
11552b15cb3dSCy Schubertupdate <num> MV keys.
11562b15cb3dSCy SchubertThis option takes an integer number as its argument.
11572b15cb3dSCy Schubert.sp
11582b15cb3dSCy SchubertThis option has not been fully documented.
11592b15cb3dSCy Schubert.It Fl \&? , Fl \-help
11602b15cb3dSCy SchubertDisplay usage information and exit.
11612b15cb3dSCy Schubert.It Fl \&! , Fl \-more\-help
11622b15cb3dSCy SchubertPass the extended usage information through a pager.
11632b15cb3dSCy Schubert.It Fl > Oo Ar cfgfile Oc , Fl \-save\-opts Oo Ns = Ns Ar cfgfile Oc
11642b15cb3dSCy SchubertSave the option state to \fIcfgfile\fP.  The default is the \fIlast\fP
11652b15cb3dSCy Schubertconfiguration file listed in the \fBOPTION PRESETS\fP section, below.
11662b15cb3dSCy SchubertThe command will exit after updating the config file.
11672b15cb3dSCy Schubert.It Fl < Ar cfgfile , Fl \-load\-opts Ns = Ns Ar cfgfile , Fl \-no\-load\-opts
11682b15cb3dSCy SchubertLoad options from \fIcfgfile\fP.
11692b15cb3dSCy SchubertThe \fIno\-load\-opts\fP form will disable the loading
11702b15cb3dSCy Schubertof earlier config/rc/ini files.  \fI\-\-no\-load\-opts\fP is handled early,
11712b15cb3dSCy Schubertout of order.
11722b15cb3dSCy Schubert.It Fl \-version Op Brq Ar v|c|n
11732b15cb3dSCy SchubertOutput version of program and exit.  The default mode is `v', a simple
11742b15cb3dSCy Schubertversion.  The `c' mode will print copyright information and `n' will
11752b15cb3dSCy Schubertprint the full copyright notice.
11762b15cb3dSCy Schubert.El
11772b15cb3dSCy Schubert.Sh "OPTION PRESETS"
11782b15cb3dSCy SchubertAny option that is not marked as \fInot presettable\fP may be preset
11792b15cb3dSCy Schubertby loading values from configuration ("RC" or ".INI") file(s) and values from
11802b15cb3dSCy Schubertenvironment variables named:
11812b15cb3dSCy Schubert.nf
11822b15cb3dSCy Schubert  \fBNTP_KEYGEN_<option\-name>\fP or \fBNTP_KEYGEN\fP
11832b15cb3dSCy Schubert.fi
11842b15cb3dSCy Schubert.ad
11852b15cb3dSCy SchubertThe environmental presets take precedence (are processed later than)
11862b15cb3dSCy Schubertthe configuration files.
11872b15cb3dSCy SchubertThe \fIhomerc\fP files are "\fI$HOME\fP", and "\fI.\fP".
11882b15cb3dSCy SchubertIf any of these are directories, then the file \fI.ntprc\fP
11892b15cb3dSCy Schubertis searched for within those directories.
11902b15cb3dSCy Schubert.Sh USAGE
11912b15cb3dSCy Schubert.Sh "ENVIRONMENT"
11922b15cb3dSCy SchubertSee \fBOPTION PRESETS\fP for configuration environment variables.
11932b15cb3dSCy Schubert.Sh "FILES"
11942b15cb3dSCy SchubertSee \fBOPTION PRESETS\fP for configuration files.
11952b15cb3dSCy Schubert.Sh "EXIT STATUS"
11962b15cb3dSCy SchubertOne of the following exit values will be returned:
11972b15cb3dSCy Schubert.Bl -tag
11982b15cb3dSCy Schubert.It 0 " (EXIT_SUCCESS)"
11992b15cb3dSCy SchubertSuccessful program execution.
12002b15cb3dSCy Schubert.It 1 " (EXIT_FAILURE)"
12012b15cb3dSCy SchubertThe operation failed or the command syntax was not valid.
12022b15cb3dSCy Schubert.It 66 " (EX_NOINPUT)"
12032b15cb3dSCy SchubertA specified configuration file could not be loaded.
12042b15cb3dSCy Schubert.It 70 " (EX_SOFTWARE)"
12052b15cb3dSCy Schubertlibopts had an internal operational error.  Please report
12062b15cb3dSCy Schubertit to autogen\-users@lists.sourceforge.net.  Thank you.
12072b15cb3dSCy Schubert.El
12082b15cb3dSCy Schubert.Sh "AUTHORS"
12092b15cb3dSCy SchubertThe University of Delaware and Network Time Foundation
12102b15cb3dSCy Schubert.Sh "COPYRIGHT"
1211*f5f40dd6SCy SchubertCopyright (C) 1992\-2024 The University of Delaware and Network Time Foundation all rights reserved.
12122b15cb3dSCy SchubertThis program is released under the terms of the NTP license, <http://ntp.org/license>.
12132b15cb3dSCy Schubert.Sh BUGS
121409100258SXin LIIt can take quite a while to generate some cryptographic values.
12152b15cb3dSCy Schubert.Pp
12162b15cb3dSCy SchubertPlease report bugs to http://bugs.ntp.org .
12172b15cb3dSCy Schubert.Pp
1218a466cc55SCy SchubertPlease send bug reports to: https://bugs.ntp.org, bugs@ntp.org
12192b15cb3dSCy Schubert.Sh NOTES
12202b15cb3dSCy SchubertPortions of this document came from FreeBSD.
12212b15cb3dSCy Schubert.Pp
12222b15cb3dSCy SchubertThis manual page was \fIAutoGen\fP\-erated from the \fBntp\-keygen\fP
12232b15cb3dSCy Schubertoption definitions.
1224