.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
..
.    nr % 0
.    rr F
.\}
.el \{\
.    de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "BOS_ADDKEY 8"
.TH BOS_ADDKEY 8 "2012-01-23" "OpenAFS" "AFS Command Reference"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
bos_addkey \- Adds a new server encryption key to the KeyFile file
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
\&\fBbos addkey\fR \fB\-server\fR\ <\fImachine\ name\fR> [\fB\-key\fR\ <\fIkey\fR>]
    \fB\-kvno\fR\ <\fIkey\ version\ number\fR> [\fB\-cell\fR\ <\fIcell\ name\fR>]
    [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
.PP
\&\fBbos addk\fR \fB\-s\fR\ <\fImachine\ name\fR> [\fB\-ke\fR\ <\fIkey\fR>]
    \fB\-kv\fR\ <\fIkey\ version\ number\fR> [\fB\-ce\fR\ <\fIcell\ name\fR>] [\fB\-n\fR]
    [\fB\-l\fR] [\fB\-h\fR]
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
The \fBbos addkey\fR command constructs a server encryption key from the text
string provided, assigns it the key version number specified with the
\&\fB\-kvno\fR argument, and adds it to the \fI/usr/afs/etc/KeyFile\fR file on the
machine specified with the \fB\-server\fR argument.
.PP
Normally, \fBasetkey add\fR should be used instead of this command; see
\&\fIasetkey\fR\|(8) for more details. The primary use of \fBbos addkey\fR is for
cells that are still using the Authentication Server instead of a Kerberos
v5 \s-1KDC\s0. It may, however, also be useful in unusual circumstances where a
key needs to be added based on a known password rather than via a Kerberos
v5 keytab.
.PP
When using \fBbos addkey\fR with an \s-1AFS\s0 cell that uses the Authentication
Server, be sure to use the \fBkas setpassword\fR or \fBkas setkey\fR command to
add the same key to the \f(CW\*(C`afs\*(C'\fR entry in the Authentication Database.
.PP
Do not use the \fB\-key\fR argument, which echoes the password string visibly
on the screen. If the argument is omitted, the \s-1BOS\s0 Server prompts for the
string and does not echo it visibly:
.PP
.Vb 2
\&   Input key:
\&   Retype input key:
.Ve
.PP
The \s-1BOS\s0 Server prohibits reuse of any key version number already listed in
the \fI/usr/afs/etc/KeyFile\fR file. This ensures that users who still have
tickets sealed with the current key are not prevented from communicating
with a server process because the current key is overwritten with a new
key. Use the \fBbos listkeys\fR command to display the key version numbers in
the \fI/usr/afs/etc/KeyFile\fR file.
.SH "CAUTIONS"
.IX Header "CAUTIONS"
In the unusual case of using \fBbos addkey\fR to add a key with a known
password matching a password used to generate Kerberos v5 keys, the key in
the Kerberos v5 \s-1KDC\s0 database must have only the \s-1DES\s0 encryption type and
must use \f(CW\*(C`afs3\*(C'\fR salt, not the default Kerberos v5 salt. Otherwise, the
key generated by \fBbos addkey\fR will not match the key generated by the
Kerberos v5 \s-1KDC\s0.
.SH "OPTIONS"
.IX Header "OPTIONS"
.IP "\fB\-server\fR <\fImachine name\fR>" 4
.IX Item "-server <machine name>"
Indicates the server machine on which to change the
\&\fI/usr/afs/etc/KeyFile\fR file. Identify the machine by \s-1IP\s0 address or its
host name (either fully-qualified or abbreviated unambiguously). For
details, see \fIbos\fR\|(8).
.Sp
In cells that use the Update Server to distribute the contents of the
\&\fI/usr/afs/etc\fR directory, it is conventional to specify only the system
control machine as a value for the \fB\-server\fR argument. Otherwise, repeat
the command for each file server machine. For further discussion, see
\&\fIbos\fR\|(8).
.IP "\fB\-key\fR <\fIkey\fR>" 4
.IX Item "-key <key>"
Specifies a character string just like a password; the \s-1BOS\s0 Server calls a
\&\s-1DES\s0 conversion function to encode it into a form appropriate for use as an
encryption key. Omit this argument to have the \s-1BOS\s0 Server prompt for the
string instead.
.IP "\fB\-kvno\fR <\fIkey version number\fR>" 4
.IX Item "-kvno <key version number>"
Defines the new key's key version number. It must be an integer in the
range from \f(CW0\fR (zero) through \f(CW255\fR.  For the sake of simplicity, use
the number one higher than the current highest key version number; use the
\&\fBbos listkeys\fR command to display key version numbers.
.IP "\fB\-cell\fR <\fIcell name\fR>" 4
.IX Item "-cell <cell name>"
Names the cell in which to run the command. Do not combine this argument
with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
.IP "\fB\-noauth\fR" 4
.IX Item "-noauth"
Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not combine
this flag with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
.IP "\fB\-localauth\fR" 4
.IX Item "-localauth"
Constructs a server ticket using a key from the local
\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
\&\fIbos\fR\|(8).
.IP "\fB\-help\fR" 4
.IX Item "-help"
Prints the online help for this command. All other valid options are
ignored.
.SH "OUTPUT"
.IX Header "OUTPUT"
If the strings typed at the \f(CW\*(C`Input key\*(C'\fR and \f(CW\*(C`Retype input key\*(C'\fR prompts
do not match, the following message appears, and the command exits without
adding a new key:
.PP
.Vb 1
\&   Input key mismatch
.Ve
.SH "EXAMPLES"
.IX Header "EXAMPLES"
The following command adds a new server encryption key with key version
number 14 to the \fBKeyFile\fR file kept on the machine \f(CW\*(C`fs1.abc.com\*(C'\fR (the
system control machine). The issuer omits the \fB\-key\fR argument, as
recommended, and provides the password at the prompts.
.PP
.Vb 3
\&   % bos addkey \-server fs1.abc.com \-kvno 14
\&   Input key:
\&   Retype input key:
.Ve
.SH "PRIVILEGE REQUIRED"
.IX Header "PRIVILEGE REQUIRED"
The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
machine named by the \fB\-server\fR argument, or must be logged onto a server
machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
included.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fIKeyFile\fR\|(5),
\&\fIUserList\fR\|(5),
\&\fIasetkey\fR\|(8),
\&\fIbos\fR\|(8),
\&\fIbos_listkeys\fR\|(8),
\&\fIbos_removekey\fR\|(8)
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
.PP
This documentation is covered by the \s-1IBM\s0 Public License Version 1.0.  It
was converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and
Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.