Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / doc / man-pages / pod8 / akeyconvert.pod
CommitLineData
805e021f
CE
1=head1 NAME
2
3akeyconvert - Import keys from rxkad.keytab to an AFS KeyFileExt
4
5=head1 SYNOPSIS
6
7=for html
8<div class="synopsis">
9
10B<akeyconvert> I<-all>
11
12=for html
13</div>
14
15=head1 DESCRIPTION
16
17The B<akeyconvert> command is used when upgrading an AFS cell from
18the 1.6.x release series to the 1.8.x release series.
19When using the rxkad-k5 security extension, the 1.6.x release series
20stored the AFS long-term Kerberos keys in a krb5 keytab file named
21F<rxkad.keytab>. The 1.8.x series releases avoid widespread linking
22against libkrb5, and instead store the AFS long-term Kerberos keys
23in an OpenAFS-specific file format, the L<KeyFileExt(5)>.
24
25B<akeyconvert> provides an easy way to convert the AFS long-term
26Kerberos keys from the krb5 keytab format to the KeyFileExt format.
27The same functionality is possible via repeated use of L<asetkey(8)>,
28but B<akeyconvert> is provided to simplify the process.
29
30By default, B<akeyconvert> will only migrate the newest key (highest kvno)
31for each Kerberos principal with a key in the rxkad.keytab. The ability
32to convert all keys, regardless of kvno, is provided as B<akeyconvert -all>.
33
34=head1 CAUTIONS
35
36The F<KeyFileExt> format is slightly less flexible than the krb5
37keytab format -- the F<KeyFileExt> identifies keys only by the
38type (rxkad-k5), kvno, and enctype ("subtype"), whereas the krb5 keytab
39also stores the principal name associated with each key. This means
40that a krb5 keytab which contained keys of identical kvno and enctype,
41but for different principals, would not be representable as a
42F<KeyFileExt>. B<akeyconvert> detects such a situation and does
43not perform any key conversions until the conflict is removed.
44
45Many of the concerns given in L<asetkey(8)> regarding extracting
46new Kerberos keys with C<ktadd> are also applicable to changes
47involving the F<rxkad.keytab>.
48
49=head1 EXAMPLES
50
51In a cell which is using the rxkad-k5 extension, the following command
52will read the newest keys from the F<rxkad.keytab> and write them to the
53F<KeyFileExt> in the appropriate format.
54
55 % akeyconvert
56
57In a cell which has a key of kvno 2 and enctype aes128-cts-hmac-sha1-96
58for both afs/example.com@EXAMPLE.COM and a different key with
59the same kvno and enctype but for the principal afs@EXAMPLE.COM,
60B<akeyconvert> will detect the kvno/enctype collision and refuse to
61continue. The appropriate Kerberos keytab-manipulation tools should
62be used to generate a new key (of higher kvno) for one of the colliding
63principals and remove the old (colliding) key for that principal before
64B<akeyconvert> is used.
65
66 % akeyconvert -all
67 Duplicate kvno/enctype 2/17
68 FATAL: duplicate key identifiers found.
69
70=head1 PRIVILEGE REQUIRED
71
72The issuer must be able to read the F<rxkad.keytab> and write the
73F<KeyFile> and F<KeyFileExt>, normally F</usr/afs/etc/KeyFile> and
74F</usr/afs/etc/KeyFileExt>. In practice, this means that the issuer must be
75the local superuser C<root> on the AFS file server or database server.
76
77=head1 SEE ALSO
78
79L<KeyFile(5)>,
80L<KeyFileExt(5)>,
81L<asetkey(8)>,
82
83=head1 COPYRIGHT
84
85Copyright 2015 Massachusetts Institute of Technology.
86
87This documentation is covered by the IBM Public License Version 1.0. This
88man page was written by Benjamin Kaduk for OpenAFS.