xref: /freebsd/crypto/heimdal/admin/ktutil-commands.in (revision 6a068746777241722b2b32c5d0bc443a2a64d80b)
1c19800e8SDoug Rabson/*
2*ae771770SStanislav Sedov * Copyright (c) 2004 Kungliga Tekniska Högskolan
3c19800e8SDoug Rabson * (Royal Institute of Technology, Stockholm, Sweden).
4c19800e8SDoug Rabson * All rights reserved.
5c19800e8SDoug Rabson *
6c19800e8SDoug Rabson * Redistribution and use in source and binary forms, with or without
7c19800e8SDoug Rabson * modification, are permitted provided that the following conditions
8c19800e8SDoug Rabson * are met:
9c19800e8SDoug Rabson *
10c19800e8SDoug Rabson * 1. Redistributions of source code must retain the above copyright
11c19800e8SDoug Rabson *    notice, this list of conditions and the following disclaimer.
12c19800e8SDoug Rabson *
13c19800e8SDoug Rabson * 2. Redistributions in binary form must reproduce the above copyright
14c19800e8SDoug Rabson *    notice, this list of conditions and the following disclaimer in the
15c19800e8SDoug Rabson *    documentation and/or other materials provided with the distribution.
16c19800e8SDoug Rabson *
17c19800e8SDoug Rabson * 3. Neither the name of the Institute nor the names of its contributors
18c19800e8SDoug Rabson *    may be used to endorse or promote products derived from this software
19c19800e8SDoug Rabson *    without specific prior written permission.
20c19800e8SDoug Rabson *
21c19800e8SDoug Rabson * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
22c19800e8SDoug Rabson * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23c19800e8SDoug Rabson * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24c19800e8SDoug Rabson * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
25c19800e8SDoug Rabson * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26c19800e8SDoug Rabson * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27c19800e8SDoug Rabson * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28c19800e8SDoug Rabson * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29c19800e8SDoug Rabson * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30c19800e8SDoug Rabson * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31c19800e8SDoug Rabson * SUCH DAMAGE.
32c19800e8SDoug Rabson */
33*ae771770SStanislav Sedov/* $Id$ */
34c19800e8SDoug Rabson
35c19800e8SDoug Rabsoncommand = {
36c19800e8SDoug Rabson	name = "add"
37c19800e8SDoug Rabson	option = {
38c19800e8SDoug Rabson		long = "principal"
39c19800e8SDoug Rabson		short = "p"
40c19800e8SDoug Rabson		type = "string"
41c19800e8SDoug Rabson		help = "principal to add"
42c19800e8SDoug Rabson		argument = "principal"
43c19800e8SDoug Rabson		default = ""
44c19800e8SDoug Rabson	}
45c19800e8SDoug Rabson	option = {
46c19800e8SDoug Rabson		long = "kvno"
47c19800e8SDoug Rabson		short = "V"
48c19800e8SDoug Rabson		type = "integer"
49c19800e8SDoug Rabson		help = "key version number"
50c19800e8SDoug Rabson		default = "-1"
51c19800e8SDoug Rabson	}
52c19800e8SDoug Rabson	option = {
53c19800e8SDoug Rabson		long = "enctype"
54c19800e8SDoug Rabson		short = "e"
55c19800e8SDoug Rabson		type = "string"
56c19800e8SDoug Rabson		argument = "enctype"
57c19800e8SDoug Rabson		help = "encryption type"
58c19800e8SDoug Rabson	}
59c19800e8SDoug Rabson	option = {
60c19800e8SDoug Rabson		long = "password"
61c19800e8SDoug Rabson		short = "w"
62c19800e8SDoug Rabson		type = "string"
63c19800e8SDoug Rabson		help = "password for key"
64c19800e8SDoug Rabson	}
65c19800e8SDoug Rabson	option = {
66c19800e8SDoug Rabson		long = "salt"
67c19800e8SDoug Rabson		short = "s"
68c19800e8SDoug Rabson		type = "-flag"
69c19800e8SDoug Rabson		help = "use unsalted keys"
70c19800e8SDoug Rabson		default = "1"
71c19800e8SDoug Rabson	}
72c19800e8SDoug Rabson	option = {
73c19800e8SDoug Rabson		long = "random"
74c19800e8SDoug Rabson		short = "r"
75c19800e8SDoug Rabson		type = "flag"
76c19800e8SDoug Rabson		help = "generate random key"
77c19800e8SDoug Rabson	}
78c19800e8SDoug Rabson	option = {
79c19800e8SDoug Rabson		long = "hex"
80c19800e8SDoug Rabson		short = "H"
81c19800e8SDoug Rabson		type = "flag"
82c19800e8SDoug Rabson		help = "password is a hexadecimal string"
83c19800e8SDoug Rabson	}
84c19800e8SDoug Rabson	function = "kt_add"
85c19800e8SDoug Rabson	help = "Adds a key to a keytab."
86c19800e8SDoug Rabson	max_args = "0"
87c19800e8SDoug Rabson}
88c19800e8SDoug Rabsoncommand = {
89c19800e8SDoug Rabson	name = "change"
90c19800e8SDoug Rabson	option = {
91c19800e8SDoug Rabson		long = "realm"
92c19800e8SDoug Rabson		short = "r"
93c19800e8SDoug Rabson		type = "string"
94c19800e8SDoug Rabson		argument = "realm"
95c19800e8SDoug Rabson		help = "realm to use"
96c19800e8SDoug Rabson	}
97c19800e8SDoug Rabson	option = {
98c19800e8SDoug Rabson		long = "admin-server"
99c19800e8SDoug Rabson		short = "a"
100c19800e8SDoug Rabson		type = "string"
101c19800e8SDoug Rabson		argument = "host"
102c19800e8SDoug Rabson		help = "server to contact"
103c19800e8SDoug Rabson	}
104c19800e8SDoug Rabson	option = {
105c19800e8SDoug Rabson		long = "server-port"
106c19800e8SDoug Rabson		short = "s"
107c19800e8SDoug Rabson		type = "integer"
108c19800e8SDoug Rabson		argument = "port number"
109c19800e8SDoug Rabson		help = "port number on server"
110c19800e8SDoug Rabson	}
111c19800e8SDoug Rabson	function = "kt_change"
112c19800e8SDoug Rabson	argument = "[principal...]"
113c19800e8SDoug Rabson	help = "Change keys for specified principals (default all)."
114c19800e8SDoug Rabson}
115c19800e8SDoug Rabsoncommand = {
116c19800e8SDoug Rabson	name = "copy"
117c19800e8SDoug Rabson	function = "kt_copy"
118c19800e8SDoug Rabson	argument = "source destination"
119c19800e8SDoug Rabson	min_args = "2"
120c19800e8SDoug Rabson	max_args = "2"
121c19800e8SDoug Rabson	help = "Copies one keytab to another."
122c19800e8SDoug Rabson}
123c19800e8SDoug Rabsoncommand = {
124c19800e8SDoug Rabson	name = "get"
125c19800e8SDoug Rabson	option = {
126c19800e8SDoug Rabson		long = "principal"
127c19800e8SDoug Rabson		short = "p"
128c19800e8SDoug Rabson		type = "string"
129c19800e8SDoug Rabson		help = "admin principal"
130c19800e8SDoug Rabson		argument = "principal"
131c19800e8SDoug Rabson	}
132c19800e8SDoug Rabson	option = {
133c19800e8SDoug Rabson		long = "enctypes"
134c19800e8SDoug Rabson		short = "e"
135c19800e8SDoug Rabson		type = "strings"
136c19800e8SDoug Rabson		help = "encryption types to use"
137c19800e8SDoug Rabson		argument = "enctype"
138c19800e8SDoug Rabson	}
139c19800e8SDoug Rabson	option = {
140c19800e8SDoug Rabson		long = "realm"
141c19800e8SDoug Rabson		short = "r"
142c19800e8SDoug Rabson		type = "string"
143c19800e8SDoug Rabson		argument = "realm"
144c19800e8SDoug Rabson		help = "realm to use"
145c19800e8SDoug Rabson	}
146c19800e8SDoug Rabson	option = {
147c19800e8SDoug Rabson		long = "admin-server"
148c19800e8SDoug Rabson		short = "a"
149c19800e8SDoug Rabson		type = "string"
150c19800e8SDoug Rabson		argument = "host"
151c19800e8SDoug Rabson		help = "server to contact"
152c19800e8SDoug Rabson	}
153c19800e8SDoug Rabson	option = {
154c19800e8SDoug Rabson		long = "server-port"
155c19800e8SDoug Rabson		short = "s"
156c19800e8SDoug Rabson		type = "integer"
157c19800e8SDoug Rabson		argument = "port number"
158c19800e8SDoug Rabson		help = "port number on server"
159c19800e8SDoug Rabson	}
160c19800e8SDoug Rabson	function = "kt_get"
161c19800e8SDoug Rabson	min_args = "1"
162c19800e8SDoug Rabson	argument = "principal..."
163c19800e8SDoug Rabson	help = "Change keys for specified principals, and add them to the keytab."
164c19800e8SDoug Rabson}
165c19800e8SDoug Rabsoncommand = {
166c19800e8SDoug Rabson	name = "list"
167c19800e8SDoug Rabson	option = {
168c19800e8SDoug Rabson		long = "keys"
169c19800e8SDoug Rabson		type = "flag"
170c19800e8SDoug Rabson		help = "show key values"
171c19800e8SDoug Rabson	}
172c19800e8SDoug Rabson	option = {
173c19800e8SDoug Rabson		long = "timestamp"
174c19800e8SDoug Rabson		type = "flag"
175c19800e8SDoug Rabson		help = "show timestamps"
176c19800e8SDoug Rabson	}
177c19800e8SDoug Rabson	max_args = "0"
178c19800e8SDoug Rabson	function = "kt_list"
179c19800e8SDoug Rabson	help = "Show contents of keytab."
180c19800e8SDoug Rabson}
181c19800e8SDoug Rabsoncommand = {
182c19800e8SDoug Rabson	name = "purge"
183c19800e8SDoug Rabson	option = {
184c19800e8SDoug Rabson		long = "age"
185c19800e8SDoug Rabson		type = "string"
186c19800e8SDoug Rabson		help = "age to retiere"
187c19800e8SDoug Rabson		default = "1 week";
188c19800e8SDoug Rabson		argument = "time"
189c19800e8SDoug Rabson	}
190c19800e8SDoug Rabson	max_args = "0"
191c19800e8SDoug Rabson	function = "kt_purge"
192c19800e8SDoug Rabson	help = "Remove superceded keys from keytab."
193c19800e8SDoug Rabson}
194c19800e8SDoug Rabsoncommand = {
195c19800e8SDoug Rabson	name = "remove"
196c19800e8SDoug Rabson	name = "delete"
197c19800e8SDoug Rabson	option = {
198c19800e8SDoug Rabson		long = "principal"
199c19800e8SDoug Rabson		short = "p"
200c19800e8SDoug Rabson		type = "string"
201c19800e8SDoug Rabson		help = "principal to remove"
202c19800e8SDoug Rabson		argument = "principal"
203c19800e8SDoug Rabson	}
204c19800e8SDoug Rabson	option = {
205c19800e8SDoug Rabson		long = "kvno"
206c19800e8SDoug Rabson		short = "V"
207c19800e8SDoug Rabson		type = "integer"
208c19800e8SDoug Rabson		help = "key version to remove"
209c19800e8SDoug Rabson		argument = "enctype"
210c19800e8SDoug Rabson		default = "0"
211c19800e8SDoug Rabson	}
212c19800e8SDoug Rabson	option = {
213c19800e8SDoug Rabson		long = "enctype"
214c19800e8SDoug Rabson		short = "e"
215c19800e8SDoug Rabson		type = "string"
216c19800e8SDoug Rabson		help = "enctype to remove"
217c19800e8SDoug Rabson		argument = "enctype"
218c19800e8SDoug Rabson	}
219c19800e8SDoug Rabson	max_args = "0"
220c19800e8SDoug Rabson	function = "kt_remove"
221c19800e8SDoug Rabson	help = "Remove keys from keytab."
222c19800e8SDoug Rabson}
223c19800e8SDoug Rabsoncommand = {
224c19800e8SDoug Rabson	name = "rename"
225c19800e8SDoug Rabson	function = "kt_rename"
226c19800e8SDoug Rabson	argument = "from to"
227c19800e8SDoug Rabson	min_args = "2"
228c19800e8SDoug Rabson	max_args = "2"
229c19800e8SDoug Rabson	help = "Renames an entry in the keytab."
230*ae771770SStanislav Sedov	option = {
231*ae771770SStanislav Sedov		long = "delete"
232*ae771770SStanislav Sedov		type = "-flag"
233*ae771770SStanislav Sedov		help = "don't delete orignal entry"
234*ae771770SStanislav Sedov	}
235c19800e8SDoug Rabson}
236c19800e8SDoug Rabsoncommand = {
237*ae771770SStanislav Sedov	name = "destroy"
238*ae771770SStanislav Sedov	function = "kt_destroy"
239c19800e8SDoug Rabson	max_args = "0"
240*ae771770SStanislav Sedov	help = "Destroy (remove) the keytab."
241c19800e8SDoug Rabson}
242c19800e8SDoug Rabsoncommand = {
243c19800e8SDoug Rabson	name = "help"
244c19800e8SDoug Rabson	argument = "command"
245c19800e8SDoug Rabson	max_args = "1"
246c19800e8SDoug Rabson	function = "help"
247c19800e8SDoug Rabson}
248