freebsd-dev/crypto/heimdal/lib/asn1/setchgpw2.asn1
2008-05-07 13:39:42 +00:00

194 lines
3.9 KiB
Groff

-- $Id: setchgpw2.asn1 18010 2006-09-05 12:31:59Z lha $
SETCHGPW2 DEFINITIONS ::=
BEGIN
IMPORTS PrincipalName, Realm, ENCTYPE FROM krb5;
ProtocolErrorCode ::= ENUMERATED {
generic-error(0),
unsupported-major-version(1),
unsupported-minor-version(2),
unsupported-operation(3),
authorization-failed(4),
initial-ticket-required(5),
target-principal-unknown(6),
...
}
Key ::= SEQUENCE {
enc-type[0] INTEGER,
key[1] OCTET STRING,
...
}
Language-Tag ::= UTF8String -- Constrained by RFC3066
LangTaggedText ::= SEQUENCE {
language[0] Language-Tag OPTIONAL,
text[1] UTF8String,
...
}
-- NULL Op
Req-null ::= NULL
Rep-null ::= NULL
Err-null ::= NULL
-- Change password
Req-change-pw ::= SEQUENCE {
old-pw[0] UTF8String,
new-pw[1] UTF8String OPTIONAL,
etypes[2] SEQUENCE OF ENCTYPE OPTIONAL,
...
}
Rep-change-pw ::= SEQUENCE {
info-text[0] UTF8String OPTIONAL,
new-pw[1] UTF8String OPTIONAL,
etypes[2] SEQUENCE OF ENCTYPE OPTIONAL
}
Err-change-pw ::= SEQUENCE {
help-text[0] UTF8String OPTIONAL,
code[1] ENUMERATED {
generic(0),
wont-generate-new-pw(1),
old-pw-incorrect(2),
new-pw-rejected-geneneric(3),
pw-change-too-short(4),
...
},
suggested-new-pw[2] UTF8String OPTIONAL,
...
}
-- Change/Set keys
Req-set-keys ::= SEQUENCE {
etypes[0] SEQUENCE OF ENCTYPE,
entropy[1] OCTET STRING,
...
}
Rep-set-keys ::= SEQUENCE {
info-text[0] UTF8String OPTIONAL,
kvno[1] INTEGER,
keys[2] SEQUENCE OF Key,
aliases[3] SEQUENCE OF SEQUENCE {
name[0] PrincipalName,
realm[1] Realm OPTIONAL,
...
},
...
}
Err-set-keys ::= SEQUENCE {
help-text[0] UTF8String OPTIONAL,
enctypes[1] SEQUENCE OF ENCTYPE OPTIONAL,
code[1] ENUMERATED {
etype-no-support(0),
...
},
...
}
-- Get password policy
Req-get-pw-policy ::= NULL
Rep-get-pw-policy ::= SEQUENCE {
help-text[0] UTF8String OPTIONAL,
policy-name[1] UTF8String OPTIONAL,
description[2] UTF8String OPTIONAL,
...
}
Err-get-pw-policy ::= NULL
-- Get principal aliases
Req-get-princ-aliases ::= NULL
Rep-get-princ-aliases ::= SEQUENCE {
help-text[0] UTF8String OPTIONAL,
aliases[1] SEQUENCE OF SEQUENCE {
name[0] PrincipalName,
realm[1] Realm OPTIONAL,
...
} OPTIONAL,
...
}
Err-get-princ-aliases ::= NULL
-- Get list of encryption types supported by KDC for new types
Req-get-supported-etypes ::= NULL
Rep-get-supported-etypes ::= SEQUENCE OF ENCTYPE
Err-get-supported-etypes ::= NULL
-- Choice switch
Op-req ::= CHOICE {
null[0] Req-null,
change-pw[1] Req-change-pw,
set-keys[2] Req-set-keys,
get-pw-policy[3] Req-get-pw-policy,
get-princ-aliases[4] Req-get-princ-aliases,
get-supported-etypes[5] Req-get-supported-etypes,
...
}
Op-rep ::= CHOICE {
null[0] Rep-null,
change-pw[1] Rep-change-pw,
set-keys[2] Rep-set-keys,
get-pw-policy[3] Rep-get-pw-policy,
get-princ-aliases[4] Rep-get-princ-aliases,
get-supported-etypes[5] Rep-get-supported-etypes,
...
}
Op-error ::= CHOICE {
null[0] Err-null,
change-pw[1] Err-change-pw,
set-keys[2] Err-set-keys,
get-pw-policy[3] Err-get-pw-policy,
get-princ-aliases[4] Err-get-princ-aliases,
get-supported-etypes[5] Err-get-supported-etypes,
...
}
Request ::= [ APPLICATION 0 ] SEQUENCE {
pvno-major[0] INTEGER DEFAULT 2,
pvno-minor[1] INTEGER DEFAULT 0,
languages[2] SEQUENCE OF Language-Tag OPTIONAL,
targ-name[3] PrincipalName OPTIONAL,
targ-realm[4] Realm OPTIONAL,
operation[5] Op-Req,
...
}
Response ::= [ APPLICATION 1 ] SEQUENCE {
pvno-major[0] INTEGER DEFAULT 2,
pvno-minor[1] INTEGER DEFAULT 0,
language[2] Language-Tag DEFAULT "i-default",
result[3] Op-rep OPTIONAL,
...
}
Error-Response ::= [ APPLICATION 2 ] SEQUENCE {
pvno-major[0] INTEGER DEFAULT 2,
pvno-minor[1] INTEGER DEFAULT 0,
language[2] Language-Tag DEFAULT "i-default",
error-code[3] ProtocolErrorCode,
help-text[4] UTF8String OPTIONAL,
op-error[5] Op-error OP-ERROR,
...
}
END
-- etags -r '/\([A-Za-z][-A-Za-z0-9]*\).*::=/\1/' setchgpw2.asn1