3 PKINIT DEFINITIONS ::= BEGIN
5 IMPORTS EncryptionKey, PrincipalName, Realm, KerberosTime, Checksum, Ticket FROM krb5
6 IssuerAndSerialNumber, ContentInfo FROM cms
7 SubjectPublicKeyInfo, AlgorithmIdentifier FROM rfc2459
10 id-pkinit OBJECT IDENTIFIER ::=
11 { iso (1) org (3) dod (6) internet (1) security (5)
12 kerberosv5 (2) pkinit (3) }
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 }
20 id-apple-system-id OBJECT IDENTIFIER ::= { 1 2 840 113635 100 4 4 }
22 id-pkinit-kdf OBJECT IDENTIFIER ::= { id-pkinit 6 }
23 id-pkinit-kdf-ah-sha1 OBJECT IDENTIFIER ::= { id-pkinit-kdf 1 }
24 id-pkinit-kdf-ah-sha256 OBJECT IDENTIFIER ::= { id-pkinit-kdf 2 }
25 id-pkinit-kdf-ah-sha512 OBJECT IDENTIFIER ::= { id-pkinit-kdf 3 }
27 id-pkinit-san OBJECT IDENTIFIER ::=
28 { iso(1) org(3) dod(6) internet(1) security(5) kerberosv5(2)
31 id-pkinit-ms-eku OBJECT IDENTIFIER ::=
32 { iso(1) org(3) dod(6) internet(1) private(4)
33 enterprise(1) microsoft(311) 20 2 2 }
35 id-pkinit-ms-san OBJECT IDENTIFIER ::=
36 { iso(1) org(3) dod(6) internet(1) private(4)
37 enterprise(1) microsoft(311) 20 2 3 }
39 MS-UPN-SAN ::= UTF8String
41 pa-pk-as-req INTEGER ::= 16
42 pa-pk-as-rep INTEGER ::= 17
44 td-trusted-certifiers INTEGER ::= 104
45 td-invalid-certificates INTEGER ::= 105
46 td-dh-parameters INTEGER ::= 109
48 DHNonce ::= OCTET STRING
50 KDFAlgorithmId ::= SEQUENCE {
51 kdf-id [0] OBJECT IDENTIFIER,
55 TrustedCA ::= SEQUENCE {
56 caName [0] IMPLICIT OCTET STRING,
57 certificateSerialNumber [1] INTEGER OPTIONAL,
58 subjectKeyIdentifier [2] OCTET STRING OPTIONAL,
62 ExternalPrincipalIdentifier ::= SEQUENCE {
63 subjectName [0] IMPLICIT OCTET STRING OPTIONAL,
64 issuerAndSerialNumber [1] IMPLICIT OCTET STRING OPTIONAL,
65 subjectKeyIdentifier [2] IMPLICIT OCTET STRING OPTIONAL,
69 ExternalPrincipalIdentifiers ::= SEQUENCE OF ExternalPrincipalIdentifier
71 PA-PK-AS-REQ ::= SEQUENCE {
72 signedAuthPack [0] IMPLICIT OCTET STRING,
73 trustedCertifiers [1] ExternalPrincipalIdentifiers OPTIONAL,
74 kdcPkId [2] IMPLICIT OCTET STRING OPTIONAL,
78 PKAuthenticator ::= SEQUENCE {
79 cusec [0] INTEGER -- (0..999999) --,
80 ctime [1] KerberosTime,
81 nonce [2] INTEGER (0..4294967295),
82 paChecksum [3] OCTET STRING OPTIONAL,
86 AuthPack ::= SEQUENCE {
87 pkAuthenticator [0] PKAuthenticator,
88 clientPublicValue [1] SubjectPublicKeyInfo OPTIONAL,
89 supportedCMSTypes [2] SEQUENCE OF AlgorithmIdentifier OPTIONAL,
90 clientDHNonce [3] DHNonce OPTIONAL,
92 supportedKDFs [4] SEQUENCE OF KDFAlgorithmId OPTIONAL,
96 TD-TRUSTED-CERTIFIERS ::= ExternalPrincipalIdentifiers
97 TD-INVALID-CERTIFICATES ::= ExternalPrincipalIdentifiers
99 KRB5PrincipalName ::= SEQUENCE {
101 principalName [1] PrincipalName
104 AD-INITIAL-VERIFIED-CAS ::= SEQUENCE OF ExternalPrincipalIdentifier
106 DHRepInfo ::= SEQUENCE {
107 dhSignedData [0] IMPLICIT OCTET STRING,
108 serverDHNonce [1] DHNonce OPTIONAL,
110 kdf [2] KDFAlgorithmId OPTIONAL,
114 PA-PK-AS-REP ::= CHOICE {
115 dhInfo [0] DHRepInfo,
116 encKeyPack [1] IMPLICIT OCTET STRING,
120 KDCDHKeyInfo ::= SEQUENCE {
121 subjectPublicKey [0] BIT STRING,
122 nonce [1] INTEGER (0..4294967295),
123 dhKeyExpiration [2] KerberosTime OPTIONAL,
127 ReplyKeyPack ::= SEQUENCE {
128 replyKey [0] EncryptionKey,
129 asChecksum [1] Checksum,
133 TD-DH-PARAMETERS ::= SEQUENCE OF AlgorithmIdentifier
136 -- Windows compat glue --
138 PKAuthenticator-Win2k ::= SEQUENCE {
139 kdcName [0] PrincipalName,
141 cusec [2] INTEGER (0..4294967295),
142 ctime [3] KerberosTime,
143 nonce [4] INTEGER (-2147483648..2147483647)
146 AuthPack-Win2k ::= SEQUENCE {
147 pkAuthenticator [0] PKAuthenticator-Win2k,
148 clientPublicValue [1] SubjectPublicKeyInfo OPTIONAL
152 TrustedCA-Win2k ::= CHOICE {
154 issuerAndSerial [2] IssuerAndSerialNumber
157 PA-PK-AS-REQ-Win2k ::= SEQUENCE {
158 signed-auth-pack [0] IMPLICIT OCTET STRING,
159 trusted-certifiers [2] SEQUENCE OF TrustedCA-Win2k OPTIONAL,
160 kdc-cert [3] IMPLICIT OCTET STRING OPTIONAL,
161 encryption-cert [4] IMPLICIT OCTET STRING OPTIONAL
164 PA-PK-AS-REP-Win2k ::= CHOICE {
165 dhSignedData [0] IMPLICIT OCTET STRING,
166 encKeyPack [1] IMPLICIT OCTET STRING
169 KDCDHKeyInfo-Win2k ::= SEQUENCE {
170 nonce [0] INTEGER (-2147483648..2147483647),
171 subjectPublicKey [2] BIT STRING
174 ReplyKeyPack-Win2k ::= SEQUENCE {
175 replyKey [0] EncryptionKey,
176 nonce [1] INTEGER (-2147483648..2147483647),
180 PA-PK-AS-REP-BTMM ::= SEQUENCE {
181 dhSignedData [0] heim_any OPTIONAL,
182 encKeyPack [1] heim_any OPTIONAL
186 PkinitSP80056AOtherInfo ::= SEQUENCE {
187 algorithmID AlgorithmIdentifier,
188 partyUInfo [0] OCTET STRING,
189 partyVInfo [1] OCTET STRING,
190 suppPubInfo [2] OCTET STRING OPTIONAL,
191 suppPrivInfo [3] OCTET STRING OPTIONAL
194 PkinitSuppPubInfo ::= SEQUENCE {
195 enctype [0] INTEGER (-2147483648..2147483647),
196 as-REQ [1] OCTET STRING,
197 pk-as-rep [2] OCTET STRING,