1233294Sstas-- $Id$
2178825Sdfr
3178825SdfrSETCHGPW2 DEFINITIONS ::=
4178825SdfrBEGIN
5178825Sdfr
6178825SdfrIMPORTS PrincipalName, Realm, ENCTYPE FROM krb5;
7178825Sdfr
8178825SdfrProtocolErrorCode ::= ENUMERATED {
9178825Sdfr	generic-error(0),
10178825Sdfr	unsupported-major-version(1),
11178825Sdfr	unsupported-minor-version(2),
12178825Sdfr	unsupported-operation(3),
13178825Sdfr	authorization-failed(4),
14178825Sdfr	initial-ticket-required(5),
15178825Sdfr	target-principal-unknown(6),
16178825Sdfr	...
17178825Sdfr}
18178825Sdfr
19178825SdfrKey	::= SEQUENCE {
20178825Sdfr	enc-type[0]	INTEGER,
21178825Sdfr	key[1]		OCTET STRING,
22178825Sdfr	...
23178825Sdfr}
24178825Sdfr
25178825SdfrLanguage-Tag	::= UTF8String    -- Constrained by RFC3066
26178825Sdfr
27178825SdfrLangTaggedText	::= SEQUENCE {
28178825Sdfr	language[0]	Language-Tag OPTIONAL,
29178825Sdfr	text[1]		UTF8String,
30178825Sdfr	...
31178825Sdfr}
32178825Sdfr
33178825Sdfr-- NULL Op
34178825Sdfr
35178825SdfrReq-null ::= NULL
36178825SdfrRep-null ::= NULL
37178825SdfrErr-null ::= NULL
38178825Sdfr
39178825Sdfr-- Change password
40178825SdfrReq-change-pw ::= SEQUENCE {
41178825Sdfr	old-pw[0]	UTF8String,
42178825Sdfr	new-pw[1]	UTF8String OPTIONAL,
43178825Sdfr	etypes[2]	SEQUENCE OF ENCTYPE OPTIONAL,
44178825Sdfr	...
45178825Sdfr}
46178825Sdfr
47178825SdfrRep-change-pw ::= SEQUENCE {
48178825Sdfr	info-text[0]	UTF8String OPTIONAL,
49178825Sdfr	new-pw[1]	UTF8String OPTIONAL,
50178825Sdfr	etypes[2]	SEQUENCE OF ENCTYPE OPTIONAL
51178825Sdfr}
52178825Sdfr
53178825SdfrErr-change-pw ::= SEQUENCE {
54178825Sdfr	help-text[0]		UTF8String OPTIONAL,
55178825Sdfr	code[1]			ENUMERATED {
56178825Sdfr		generic(0),
57178825Sdfr		wont-generate-new-pw(1),
58178825Sdfr		old-pw-incorrect(2),
59178825Sdfr		new-pw-rejected-geneneric(3),
60178825Sdfr		pw-change-too-short(4),
61178825Sdfr		...
62178825Sdfr	},
63178825Sdfr	suggested-new-pw[2]	UTF8String OPTIONAL,
64178825Sdfr	...
65178825Sdfr}
66178825Sdfr
67178825Sdfr-- Change/Set keys
68178825SdfrReq-set-keys ::= SEQUENCE {
69178825Sdfr	etypes[0]	SEQUENCE OF ENCTYPE,
70178825Sdfr	entropy[1]	OCTET STRING,
71178825Sdfr	...
72178825Sdfr}
73178825Sdfr
74178825SdfrRep-set-keys ::= SEQUENCE {
75178825Sdfr	info-text[0]		UTF8String OPTIONAL,
76178825Sdfr	kvno[1]			INTEGER,
77178825Sdfr	keys[2]			SEQUENCE OF Key,
78178825Sdfr	aliases[3]	SEQUENCE OF SEQUENCE {
79178825Sdfr		name[0] PrincipalName,
80178825Sdfr		realm[1] Realm OPTIONAL,
81178825Sdfr		...
82178825Sdfr	},
83178825Sdfr	...
84178825Sdfr}
85178825Sdfr
86178825SdfrErr-set-keys ::= SEQUENCE {
87178825Sdfr	help-text[0]		UTF8String OPTIONAL,
88178825Sdfr	enctypes[1]		SEQUENCE OF ENCTYPE OPTIONAL,
89178825Sdfr	code[1]		ENUMERATED {
90178825Sdfr		etype-no-support(0),
91178825Sdfr		...
92178825Sdfr	},
93178825Sdfr	...
94178825Sdfr}
95178825Sdfr
96178825Sdfr-- Get password policy
97178825SdfrReq-get-pw-policy ::= NULL
98178825Sdfr
99178825SdfrRep-get-pw-policy ::= SEQUENCE {
100178825Sdfr	help-text[0]		UTF8String OPTIONAL,
101178825Sdfr	policy-name[1]		UTF8String OPTIONAL,
102178825Sdfr	description[2]		UTF8String OPTIONAL,
103178825Sdfr	...
104178825Sdfr}
105178825Sdfr
106178825SdfrErr-get-pw-policy ::= NULL
107178825Sdfr
108178825Sdfr-- Get principal aliases
109178825SdfrReq-get-princ-aliases ::= NULL
110178825Sdfr
111178825SdfrRep-get-princ-aliases ::= SEQUENCE {
112178825Sdfr	help-text[0]		UTF8String OPTIONAL,
113178825Sdfr	aliases[1]	SEQUENCE OF SEQUENCE {
114178825Sdfr		name[0]		PrincipalName,
115178825Sdfr		realm[1]	Realm OPTIONAL,
116178825Sdfr		...
117178825Sdfr	} OPTIONAL,
118178825Sdfr	...
119178825Sdfr}
120178825Sdfr
121178825SdfrErr-get-princ-aliases ::= NULL
122178825Sdfr
123178825Sdfr-- Get list of encryption types supported by KDC for new types
124178825SdfrReq-get-supported-etypes ::= NULL
125178825Sdfr
126178825SdfrRep-get-supported-etypes ::= SEQUENCE OF ENCTYPE
127178825Sdfr
128178825SdfrErr-get-supported-etypes ::= NULL
129178825Sdfr
130178825Sdfr-- Choice switch
131178825Sdfr
132178825SdfrOp-req ::= CHOICE {
133178825Sdfr	null[0]			Req-null,
134178825Sdfr	change-pw[1]		Req-change-pw,
135178825Sdfr	set-keys[2]		Req-set-keys,
136178825Sdfr	get-pw-policy[3]	Req-get-pw-policy,
137178825Sdfr	get-princ-aliases[4]	Req-get-princ-aliases,
138178825Sdfr	get-supported-etypes[5]	Req-get-supported-etypes,
139178825Sdfr	...
140178825Sdfr}
141233294Sstas
142178825SdfrOp-rep ::= CHOICE {
143178825Sdfr	null[0]			Rep-null,
144178825Sdfr	change-pw[1]		Rep-change-pw,
145178825Sdfr	set-keys[2]		Rep-set-keys,
146178825Sdfr	get-pw-policy[3]	Rep-get-pw-policy,
147178825Sdfr	get-princ-aliases[4]	Rep-get-princ-aliases,
148178825Sdfr	get-supported-etypes[5]	Rep-get-supported-etypes,
149178825Sdfr	...
150178825Sdfr}
151178825Sdfr
152178825SdfrOp-error ::= CHOICE {
153178825Sdfr	null[0]			Err-null,
154178825Sdfr	change-pw[1]		Err-change-pw,
155178825Sdfr	set-keys[2]		Err-set-keys,
156178825Sdfr	get-pw-policy[3]	Err-get-pw-policy,
157178825Sdfr	get-princ-aliases[4]	Err-get-princ-aliases,
158178825Sdfr	get-supported-etypes[5]	Err-get-supported-etypes,
159178825Sdfr	...
160178825Sdfr}
161178825Sdfr
162178825Sdfr
163178825SdfrRequest ::= [ APPLICATION 0 ] SEQUENCE {
164178825Sdfr	pvno-major[0]	INTEGER DEFAULT 2,
165178825Sdfr	pvno-minor[1]	INTEGER DEFAULT 0,
166178825Sdfr	languages[2]	SEQUENCE OF Language-Tag OPTIONAL,
167178825Sdfr	targ-name[3]	PrincipalName OPTIONAL,
168178825Sdfr	targ-realm[4]	Realm OPTIONAL,
169178825Sdfr	operation[5]	Op-Req,
170178825Sdfr	...
171178825Sdfr}
172178825Sdfr
173178825SdfrResponse ::= [ APPLICATION 1 ] SEQUENCE {
174178825Sdfr	pvno-major[0]	INTEGER DEFAULT 2,
175178825Sdfr	pvno-minor[1]	INTEGER DEFAULT 0,
176178825Sdfr	language[2]	Language-Tag DEFAULT "i-default",
177178825Sdfr	result[3]	Op-rep OPTIONAL,
178178825Sdfr	...
179178825Sdfr}
180178825Sdfr
181178825SdfrError-Response ::= [ APPLICATION 2 ] SEQUENCE {
182178825Sdfr	pvno-major[0]	INTEGER DEFAULT 2,
183178825Sdfr	pvno-minor[1]	INTEGER DEFAULT 0,
184178825Sdfr	language[2]	Language-Tag DEFAULT "i-default",
185178825Sdfr	error-code[3]	ProtocolErrorCode,
186178825Sdfr	help-text[4]	UTF8String OPTIONAL,
187178825Sdfr	op-error[5]	Op-error OP-ERROR,
188178825Sdfr	...
189178825Sdfr}
190178825Sdfr
191178825SdfrEND
192178825Sdfr
193178825Sdfr-- etags -r '/\([A-Za-z][-A-Za-z0-9]*\).*::=/\1/' setchgpw2.asn1
194