setchgpw2.asn1 revision 267654
190075Sobrien-- $Id: setchgpw2.asn1 18010 2006-09-05 12:31:59Z lha $
290075Sobrien
390075SobrienSETCHGPW2 DEFINITIONS ::=
490075SobrienBEGIN
590075Sobrien
690075SobrienIMPORTS PrincipalName, Realm, ENCTYPE FROM krb5;
790075Sobrien
890075SobrienProtocolErrorCode ::= ENUMERATED {
990075Sobrien	generic-error(0),
1090075Sobrien	unsupported-major-version(1),
1190075Sobrien	unsupported-minor-version(2),
1290075Sobrien	unsupported-operation(3),
1390075Sobrien	authorization-failed(4),
1490075Sobrien	initial-ticket-required(5),
1590075Sobrien	target-principal-unknown(6),
1690075Sobrien	...
1790075Sobrien}
1890075Sobrien
1990075SobrienKey	::= SEQUENCE {
2090075Sobrien	enc-type[0]	INTEGER,
2190075Sobrien	key[1]		OCTET STRING,
2290075Sobrien	...
2390075Sobrien}
2490075Sobrien
2590075SobrienLanguage-Tag	::= UTF8String    -- Constrained by RFC3066
2690075Sobrien
2790075SobrienLangTaggedText	::= SEQUENCE {
2890075Sobrien	language[0]	Language-Tag OPTIONAL,
2990075Sobrien	text[1]		UTF8String,
3090075Sobrien	...
3190075Sobrien}
3290075Sobrien
3390075Sobrien-- NULL Op
3490075Sobrien
3590075SobrienReq-null ::= NULL
3690075SobrienRep-null ::= NULL
3790075SobrienErr-null ::= NULL
3890075Sobrien
3990075Sobrien-- Change password
4090075SobrienReq-change-pw ::= SEQUENCE {
4190075Sobrien	old-pw[0]	UTF8String,
4290075Sobrien	new-pw[1]	UTF8String OPTIONAL,
4390075Sobrien	etypes[2]	SEQUENCE OF ENCTYPE OPTIONAL,
4490075Sobrien	...
4590075Sobrien}
4690075Sobrien
4790075SobrienRep-change-pw ::= SEQUENCE {
4890075Sobrien	info-text[0]	UTF8String OPTIONAL,
4990075Sobrien	new-pw[1]	UTF8String OPTIONAL,
5090075Sobrien	etypes[2]	SEQUENCE OF ENCTYPE OPTIONAL
5190075Sobrien}
5290075Sobrien
5390075SobrienErr-change-pw ::= SEQUENCE {
5490075Sobrien	help-text[0]		UTF8String OPTIONAL,
5590075Sobrien	code[1]			ENUMERATED {
5690075Sobrien		generic(0),
5790075Sobrien		wont-generate-new-pw(1),
5890075Sobrien		old-pw-incorrect(2),
5990075Sobrien		new-pw-rejected-geneneric(3),
6090075Sobrien		pw-change-too-short(4),
6190075Sobrien		...
6290075Sobrien	},
6390075Sobrien	suggested-new-pw[2]	UTF8String OPTIONAL,
6490075Sobrien	...
6590075Sobrien}
6690075Sobrien
6790075Sobrien-- Change/Set keys
6890075SobrienReq-set-keys ::= SEQUENCE {
6990075Sobrien	etypes[0]	SEQUENCE OF ENCTYPE,
7090075Sobrien	entropy[1]	OCTET STRING,
7190075Sobrien	...
7290075Sobrien}
7390075Sobrien
7490075SobrienRep-set-keys ::= SEQUENCE {
7590075Sobrien	info-text[0]		UTF8String OPTIONAL,
7690075Sobrien	kvno[1]			INTEGER,
7790075Sobrien	keys[2]			SEQUENCE OF Key,
7890075Sobrien	aliases[3]	SEQUENCE OF SEQUENCE {
7990075Sobrien		name[0] PrincipalName,
8090075Sobrien		realm[1] Realm OPTIONAL,
8190075Sobrien		...
8290075Sobrien	},
8390075Sobrien	...
8490075Sobrien}
8590075Sobrien
8690075SobrienErr-set-keys ::= SEQUENCE {
8790075Sobrien	help-text[0]		UTF8String OPTIONAL,
8890075Sobrien	enctypes[1]		SEQUENCE OF ENCTYPE OPTIONAL,
8990075Sobrien	code[1]		ENUMERATED {
9090075Sobrien		etype-no-support(0),
9190075Sobrien		...
9290075Sobrien	},
9390075Sobrien	...
9490075Sobrien}
9590075Sobrien
9690075Sobrien-- Get password policy
9790075SobrienReq-get-pw-policy ::= NULL
9890075Sobrien
9990075SobrienRep-get-pw-policy ::= SEQUENCE {
10090075Sobrien	help-text[0]		UTF8String OPTIONAL,
10190075Sobrien	policy-name[1]		UTF8String OPTIONAL,
10290075Sobrien	description[2]		UTF8String OPTIONAL,
10390075Sobrien	...
10490075Sobrien}
10590075Sobrien
10690075SobrienErr-get-pw-policy ::= NULL
10790075Sobrien
108103445Skan-- Get principal aliases
109103445SkanReq-get-princ-aliases ::= NULL
110103445Skan
11190075SobrienRep-get-princ-aliases ::= SEQUENCE {
112103445Skan	help-text[0]		UTF8String OPTIONAL,
113103445Skan	aliases[1]	SEQUENCE OF SEQUENCE {
114103445Skan		name[0]		PrincipalName,
11590075Sobrien		realm[1]	Realm OPTIONAL,
11690075Sobrien		...
11790075Sobrien	} OPTIONAL,
11890075Sobrien	...
11990075Sobrien}
12090075Sobrien
12190075SobrienErr-get-princ-aliases ::= NULL
12290075Sobrien
12390075Sobrien-- Get list of encryption types supported by KDC for new types
12490075SobrienReq-get-supported-etypes ::= NULL
12590075Sobrien
12690075SobrienRep-get-supported-etypes ::= SEQUENCE OF ENCTYPE
12790075Sobrien
12890075SobrienErr-get-supported-etypes ::= NULL
12990075Sobrien
13090075Sobrien-- Choice switch
13190075Sobrien
13290075SobrienOp-req ::= CHOICE {
13390075Sobrien	null[0]			Req-null,
13490075Sobrien	change-pw[1]		Req-change-pw,
13590075Sobrien	set-keys[2]		Req-set-keys,
13690075Sobrien	get-pw-policy[3]	Req-get-pw-policy,
13790075Sobrien	get-princ-aliases[4]	Req-get-princ-aliases,
13890075Sobrien	get-supported-etypes[5]	Req-get-supported-etypes,
13990075Sobrien	...
14090075Sobrien}
14190075Sobrien 
14290075SobrienOp-rep ::= CHOICE {
14390075Sobrien	null[0]			Rep-null,
14490075Sobrien	change-pw[1]		Rep-change-pw,
14590075Sobrien	set-keys[2]		Rep-set-keys,
14690075Sobrien	get-pw-policy[3]	Rep-get-pw-policy,
14790075Sobrien	get-princ-aliases[4]	Rep-get-princ-aliases,
14890075Sobrien	get-supported-etypes[5]	Rep-get-supported-etypes,
14990075Sobrien	...
15090075Sobrien}
15190075Sobrien
15290075SobrienOp-error ::= CHOICE {
15390075Sobrien	null[0]			Err-null,
15490075Sobrien	change-pw[1]		Err-change-pw,
15590075Sobrien	set-keys[2]		Err-set-keys,
15690075Sobrien	get-pw-policy[3]	Err-get-pw-policy,
15790075Sobrien	get-princ-aliases[4]	Err-get-princ-aliases,
15890075Sobrien	get-supported-etypes[5]	Err-get-supported-etypes,
15990075Sobrien	...
16090075Sobrien}
16190075Sobrien
16290075Sobrien
16390075SobrienRequest ::= [ APPLICATION 0 ] SEQUENCE {
16490075Sobrien	pvno-major[0]	INTEGER DEFAULT 2,
16590075Sobrien	pvno-minor[1]	INTEGER DEFAULT 0,
16690075Sobrien	languages[2]	SEQUENCE OF Language-Tag OPTIONAL,
16790075Sobrien	targ-name[3]	PrincipalName OPTIONAL,
16890075Sobrien	targ-realm[4]	Realm OPTIONAL,
16990075Sobrien	operation[5]	Op-Req,
17090075Sobrien	...
17190075Sobrien}
17290075Sobrien
17390075SobrienResponse ::= [ APPLICATION 1 ] SEQUENCE {
17490075Sobrien	pvno-major[0]	INTEGER DEFAULT 2,
17590075Sobrien	pvno-minor[1]	INTEGER DEFAULT 0,
17690075Sobrien	language[2]	Language-Tag DEFAULT "i-default",
17790075Sobrien	result[3]	Op-rep OPTIONAL,
17890075Sobrien	...
17990075Sobrien}
18090075Sobrien
18190075SobrienError-Response ::= [ APPLICATION 2 ] SEQUENCE {
18290075Sobrien	pvno-major[0]	INTEGER DEFAULT 2,
18390075Sobrien	pvno-minor[1]	INTEGER DEFAULT 0,
18490075Sobrien	language[2]	Language-Tag DEFAULT "i-default",
18590075Sobrien	error-code[3]	ProtocolErrorCode,
18690075Sobrien	help-text[4]	UTF8String OPTIONAL,
18790075Sobrien	op-error[5]	Op-error OP-ERROR,
18890075Sobrien	...
18990075Sobrien}
19090075Sobrien
19190075SobrienEND
19290075Sobrien
19390075Sobrien-- etags -r '/\([A-Za-z][-A-Za-z0-9]*\).*::=/\1/' setchgpw2.asn1
19490075Sobrien