1 | -- $Id$ --
|
---|
2 |
|
---|
3 | PKINIT DEFINITIONS ::= BEGIN
|
---|
4 |
|
---|
5 | IMPORTS EncryptionKey, PrincipalName, Realm, KerberosTime, Checksum, Ticket FROM krb5
|
---|
6 | IssuerAndSerialNumber, ContentInfo FROM cms
|
---|
7 | SubjectPublicKeyInfo, AlgorithmIdentifier FROM rfc2459
|
---|
8 | heim_any FROM heim;
|
---|
9 |
|
---|
10 | id-pkinit OBJECT IDENTIFIER ::=
|
---|
11 | { iso (1) org (3) dod (6) internet (1) security (5)
|
---|
12 | kerberosv5 (2) pkinit (3) }
|
---|
13 |
|
---|
14 | id-pkauthdata OBJECT IDENTIFIER ::= { id-pkinit 1 }
|
---|
15 | id-pkdhkeydata OBJECT IDENTIFIER ::= { id-pkinit 2 }
|
---|
16 | id-pkrkeydata OBJECT IDENTIFIER ::= { id-pkinit 3 }
|
---|
17 | id-pkekuoid OBJECT IDENTIFIER ::= { id-pkinit 4 }
|
---|
18 | id-pkkdcekuoid OBJECT IDENTIFIER ::= { id-pkinit 5 }
|
---|
19 |
|
---|
20 | id-pkinit-kdf OBJECT IDENTIFIER ::= { id-pkinit 6 }
|
---|
21 | id-pkinit-kdf-ah-sha1 OBJECT IDENTIFIER ::= { id-pkinit-kdf 1 }
|
---|
22 | id-pkinit-kdf-ah-sha256 OBJECT IDENTIFIER ::= { id-pkinit-kdf 2 }
|
---|
23 | id-pkinit-kdf-ah-sha512 OBJECT IDENTIFIER ::= { id-pkinit-kdf 3 }
|
---|
24 |
|
---|
25 | id-pkinit-san OBJECT IDENTIFIER ::=
|
---|
26 | { iso(1) org(3) dod(6) internet(1) security(5) kerberosv5(2)
|
---|
27 | x509-sanan(2) }
|
---|
28 |
|
---|
29 | id-pkinit-ms-eku OBJECT IDENTIFIER ::=
|
---|
30 | { iso(1) org(3) dod(6) internet(1) private(4)
|
---|
31 | enterprise(1) microsoft(311) 20 2 2 }
|
---|
32 |
|
---|
33 | id-pkinit-ms-san OBJECT IDENTIFIER ::=
|
---|
34 | { iso(1) org(3) dod(6) internet(1) private(4)
|
---|
35 | enterprise(1) microsoft(311) 20 2 3 }
|
---|
36 |
|
---|
37 | MS-UPN-SAN ::= UTF8String
|
---|
38 |
|
---|
39 | pa-pk-as-req INTEGER ::= 16
|
---|
40 | pa-pk-as-rep INTEGER ::= 17
|
---|
41 |
|
---|
42 | td-trusted-certifiers INTEGER ::= 104
|
---|
43 | td-invalid-certificates INTEGER ::= 105
|
---|
44 | td-dh-parameters INTEGER ::= 109
|
---|
45 |
|
---|
46 | DHNonce ::= OCTET STRING
|
---|
47 |
|
---|
48 | KDFAlgorithmId ::= SEQUENCE {
|
---|
49 | kdf-id [0] OBJECT IDENTIFIER,
|
---|
50 | ...
|
---|
51 | }
|
---|
52 |
|
---|
53 | TrustedCA ::= SEQUENCE {
|
---|
54 | caName [0] IMPLICIT OCTET STRING,
|
---|
55 | certificateSerialNumber [1] INTEGER OPTIONAL,
|
---|
56 | subjectKeyIdentifier [2] OCTET STRING OPTIONAL,
|
---|
57 | ...
|
---|
58 | }
|
---|
59 |
|
---|
60 | ExternalPrincipalIdentifier ::= SEQUENCE {
|
---|
61 | subjectName [0] IMPLICIT OCTET STRING OPTIONAL,
|
---|
62 | issuerAndSerialNumber [1] IMPLICIT OCTET STRING OPTIONAL,
|
---|
63 | subjectKeyIdentifier [2] IMPLICIT OCTET STRING OPTIONAL,
|
---|
64 | ...
|
---|
65 | }
|
---|
66 |
|
---|
67 | ExternalPrincipalIdentifiers ::= SEQUENCE OF ExternalPrincipalIdentifier
|
---|
68 |
|
---|
69 | PA-PK-AS-REQ ::= SEQUENCE {
|
---|
70 | signedAuthPack [0] IMPLICIT OCTET STRING,
|
---|
71 | trustedCertifiers [1] ExternalPrincipalIdentifiers OPTIONAL,
|
---|
72 | kdcPkId [2] IMPLICIT OCTET STRING OPTIONAL,
|
---|
73 | ...
|
---|
74 | }
|
---|
75 |
|
---|
76 | PKAuthenticator ::= SEQUENCE {
|
---|
77 | cusec [0] INTEGER -- (0..999999) --,
|
---|
78 | ctime [1] KerberosTime,
|
---|
79 | nonce [2] INTEGER (0..4294967295),
|
---|
80 | paChecksum [3] OCTET STRING OPTIONAL,
|
---|
81 | ...
|
---|
82 | }
|
---|
83 |
|
---|
84 | AuthPack ::= SEQUENCE {
|
---|
85 | pkAuthenticator [0] PKAuthenticator,
|
---|
86 | clientPublicValue [1] SubjectPublicKeyInfo OPTIONAL,
|
---|
87 | supportedCMSTypes [2] SEQUENCE OF AlgorithmIdentifier OPTIONAL,
|
---|
88 | clientDHNonce [3] DHNonce OPTIONAL,
|
---|
89 | ...,
|
---|
90 | supportedKDFs [4] SEQUENCE OF KDFAlgorithmId OPTIONAL,
|
---|
91 | ...
|
---|
92 | }
|
---|
93 |
|
---|
94 | TD-TRUSTED-CERTIFIERS ::= ExternalPrincipalIdentifiers
|
---|
95 | TD-INVALID-CERTIFICATES ::= ExternalPrincipalIdentifiers
|
---|
96 |
|
---|
97 | KRB5PrincipalName ::= SEQUENCE {
|
---|
98 | realm [0] Realm,
|
---|
99 | principalName [1] PrincipalName
|
---|
100 | }
|
---|
101 |
|
---|
102 | AD-INITIAL-VERIFIED-CAS ::= SEQUENCE OF ExternalPrincipalIdentifier
|
---|
103 |
|
---|
104 | DHRepInfo ::= SEQUENCE {
|
---|
105 | dhSignedData [0] IMPLICIT OCTET STRING,
|
---|
106 | serverDHNonce [1] DHNonce OPTIONAL,
|
---|
107 | ...,
|
---|
108 | kdf [2] KDFAlgorithmId OPTIONAL,
|
---|
109 | ...
|
---|
110 | }
|
---|
111 |
|
---|
112 | PA-PK-AS-REP ::= CHOICE {
|
---|
113 | dhInfo [0] DHRepInfo,
|
---|
114 | encKeyPack [1] IMPLICIT OCTET STRING,
|
---|
115 | ...
|
---|
116 | }
|
---|
117 |
|
---|
118 | KDCDHKeyInfo ::= SEQUENCE {
|
---|
119 | subjectPublicKey [0] BIT STRING,
|
---|
120 | nonce [1] INTEGER (0..4294967295),
|
---|
121 | dhKeyExpiration [2] KerberosTime OPTIONAL,
|
---|
122 | ...
|
---|
123 | }
|
---|
124 |
|
---|
125 | ReplyKeyPack ::= SEQUENCE {
|
---|
126 | replyKey [0] EncryptionKey,
|
---|
127 | asChecksum [1] Checksum,
|
---|
128 | ...
|
---|
129 | }
|
---|
130 |
|
---|
131 | TD-DH-PARAMETERS ::= SEQUENCE OF AlgorithmIdentifier
|
---|
132 |
|
---|
133 |
|
---|
134 | -- Windows compat glue --
|
---|
135 |
|
---|
136 | PKAuthenticator-Win2k ::= SEQUENCE {
|
---|
137 | kdcName [0] PrincipalName,
|
---|
138 | kdcRealm [1] Realm,
|
---|
139 | cusec [2] INTEGER (0..4294967295),
|
---|
140 | ctime [3] KerberosTime,
|
---|
141 | nonce [4] INTEGER (-2147483648..2147483647)
|
---|
142 | }
|
---|
143 |
|
---|
144 | AuthPack-Win2k ::= SEQUENCE {
|
---|
145 | pkAuthenticator [0] PKAuthenticator-Win2k,
|
---|
146 | clientPublicValue [1] SubjectPublicKeyInfo OPTIONAL
|
---|
147 | }
|
---|
148 |
|
---|
149 |
|
---|
150 | TrustedCA-Win2k ::= CHOICE {
|
---|
151 | caName [1] heim_any,
|
---|
152 | issuerAndSerial [2] IssuerAndSerialNumber
|
---|
153 | }
|
---|
154 |
|
---|
155 | PA-PK-AS-REQ-Win2k ::= SEQUENCE {
|
---|
156 | signed-auth-pack [0] IMPLICIT OCTET STRING,
|
---|
157 | trusted-certifiers [2] SEQUENCE OF TrustedCA-Win2k OPTIONAL,
|
---|
158 | kdc-cert [3] IMPLICIT OCTET STRING OPTIONAL,
|
---|
159 | encryption-cert [4] IMPLICIT OCTET STRING OPTIONAL
|
---|
160 | }
|
---|
161 |
|
---|
162 | PA-PK-AS-REP-Win2k ::= CHOICE {
|
---|
163 | dhSignedData [0] IMPLICIT OCTET STRING,
|
---|
164 | encKeyPack [1] IMPLICIT OCTET STRING
|
---|
165 | }
|
---|
166 |
|
---|
167 | KDCDHKeyInfo-Win2k ::= SEQUENCE {
|
---|
168 | nonce [0] INTEGER (-2147483648..2147483647),
|
---|
169 | subjectPublicKey [2] BIT STRING
|
---|
170 | }
|
---|
171 |
|
---|
172 | ReplyKeyPack-Win2k ::= SEQUENCE {
|
---|
173 | replyKey [0] EncryptionKey,
|
---|
174 | nonce [1] INTEGER (-2147483648..2147483647),
|
---|
175 | ...
|
---|
176 | }
|
---|
177 |
|
---|
178 | PA-PK-AS-REP-BTMM ::= SEQUENCE {
|
---|
179 | dhSignedData [0] heim_any OPTIONAL,
|
---|
180 | encKeyPack [1] heim_any OPTIONAL
|
---|
181 | }
|
---|
182 |
|
---|
183 |
|
---|
184 | PkinitSP80056AOtherInfo ::= SEQUENCE {
|
---|
185 | algorithmID AlgorithmIdentifier,
|
---|
186 | partyUInfo [0] OCTET STRING,
|
---|
187 | partyVInfo [1] OCTET STRING,
|
---|
188 | suppPubInfo [2] OCTET STRING OPTIONAL,
|
---|
189 | suppPrivInfo [3] OCTET STRING OPTIONAL
|
---|
190 | }
|
---|
191 |
|
---|
192 | PkinitSuppPubInfo ::= SEQUENCE {
|
---|
193 | enctype [0] INTEGER (-2147483648..2147483647),
|
---|
194 | as-REQ [1] OCTET STRING,
|
---|
195 | pk-as-rep [2] OCTET STRING,
|
---|
196 | ticket [3] Ticket,
|
---|
197 | ...
|
---|
198 | }
|
---|
199 |
|
---|
200 | END
|
---|