| 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
|
|---|