Test source name (and make the acceptor in ntlm gss mech useful).
[heimdal.git] / lib / asn1 / pkinit.asn1
blob989b26581b3a1b69eea569b96e37bbef624da33a
1 -- $Id$ --
3 PKINIT DEFINITIONS ::= BEGIN
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;
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-pkinit-san   OBJECT IDENTIFIER ::=
21   { iso(1) org(3) dod(6) internet(1) security(5) kerberosv5(2)
22     x509-sanan(2) }
24 id-pkinit-ms-eku OBJECT IDENTIFIER ::=
25   { iso(1) org(3) dod(6) internet(1) private(4) 
26     enterprise(1) microsoft(311) 20 2 2 }
28 id-pkinit-ms-san OBJECT IDENTIFIER ::=
29   { iso(1) org(3) dod(6) internet(1) private(4) 
30     enterprise(1) microsoft(311) 20 2 3 }
32 MS-UPN-SAN ::= UTF8String
34 pa-pk-as-req INTEGER ::=                  16
35 pa-pk-as-rep INTEGER ::=                  17
37 td-trusted-certifiers INTEGER ::=        104
38 td-invalid-certificates INTEGER ::=      105
39 td-dh-parameters INTEGER ::=             109
41 DHNonce ::= OCTET STRING
43 KDFAlgorithmId ::= SEQUENCE {
44        kdf-id            [0] OBJECT IDENTIFIER,
45        ...
48 TrustedCA ::= SEQUENCE {
49         caName                  [0] IMPLICIT OCTET STRING,
50         certificateSerialNumber [1] INTEGER OPTIONAL,
51         subjectKeyIdentifier    [2] OCTET STRING OPTIONAL,
52         ...
55 ExternalPrincipalIdentifier ::= SEQUENCE {
56         subjectName             [0] IMPLICIT OCTET STRING OPTIONAL,
57         issuerAndSerialNumber   [1] IMPLICIT OCTET STRING OPTIONAL,
58         subjectKeyIdentifier    [2] IMPLICIT OCTET STRING OPTIONAL,
59         ...
62 ExternalPrincipalIdentifiers ::= SEQUENCE OF ExternalPrincipalIdentifier
64 PA-PK-AS-REQ ::= SEQUENCE {
65         signedAuthPack          [0] IMPLICIT OCTET STRING,
66         trustedCertifiers       [1] ExternalPrincipalIdentifiers OPTIONAL,
67         kdcPkId                 [2] IMPLICIT OCTET STRING OPTIONAL,
68         ...
71 PKAuthenticator ::= SEQUENCE {
72         cusec                   [0] INTEGER -- (0..999999) --,
73         ctime                   [1] KerberosTime,
74         nonce                   [2] INTEGER (0..4294967295),
75         paChecksum              [3] OCTET STRING OPTIONAL,
76         ...
79 AuthPack ::= SEQUENCE {
80         pkAuthenticator         [0] PKAuthenticator,
81         clientPublicValue       [1] SubjectPublicKeyInfo OPTIONAL,
82         supportedCMSTypes       [2] SEQUENCE OF AlgorithmIdentifier OPTIONAL,
83         clientDHNonce           [3] DHNonce OPTIONAL,
84         ...,
85         supportedKDFs           [4] SEQUENCE OF KDFAlgorithmId OPTIONAL,
86         ...
89 TD-TRUSTED-CERTIFIERS ::= ExternalPrincipalIdentifiers
90 TD-INVALID-CERTIFICATES ::= ExternalPrincipalIdentifiers
92 KRB5PrincipalName ::= SEQUENCE {
93         realm                   [0] Realm,
94         principalName           [1] PrincipalName
97 AD-INITIAL-VERIFIED-CAS ::= SEQUENCE OF ExternalPrincipalIdentifier
99 DHRepInfo ::= SEQUENCE {
100         dhSignedData            [0] IMPLICIT OCTET STRING,
101         serverDHNonce           [1] DHNonce OPTIONAL,
102         ...,
103         kdf                     [2] KDFAlgorithmId OPTIONAL,
104         ...
107 PA-PK-AS-REP ::= CHOICE {
108         dhInfo                  [0] DHRepInfo,
109         encKeyPack              [1] IMPLICIT OCTET STRING,
110         ...
113 KDCDHKeyInfo ::= SEQUENCE {
114         subjectPublicKey        [0] BIT STRING,
115         nonce                   [1] INTEGER (0..4294967295),
116         dhKeyExpiration         [2] KerberosTime OPTIONAL,
117         ...
120 ReplyKeyPack ::= SEQUENCE {
121         replyKey                [0] EncryptionKey,
122         asChecksum              [1] Checksum,
123         ...
126 TD-DH-PARAMETERS ::= SEQUENCE OF AlgorithmIdentifier
129 -- Windows compat glue --
131 PKAuthenticator-Win2k ::= SEQUENCE {
132         kdcName                 [0] PrincipalName,
133         kdcRealm                [1] Realm,
134         cusec                   [2] INTEGER (0..4294967295),
135         ctime                   [3] KerberosTime,
136         nonce                   [4] INTEGER (-2147483648..2147483647)
139 AuthPack-Win2k ::= SEQUENCE {
140         pkAuthenticator         [0] PKAuthenticator-Win2k,
141         clientPublicValue       [1] SubjectPublicKeyInfo OPTIONAL
145 TrustedCA-Win2k ::= CHOICE {
146         caName                  [1] heim_any,
147         issuerAndSerial         [2] IssuerAndSerialNumber
150 PA-PK-AS-REQ-Win2k ::= SEQUENCE { 
151         signed-auth-pack        [0] IMPLICIT OCTET STRING, 
152         trusted-certifiers      [2] SEQUENCE OF TrustedCA-Win2k OPTIONAL, 
153         kdc-cert                [3] IMPLICIT OCTET STRING OPTIONAL, 
154         encryption-cert         [4] IMPLICIT OCTET STRING OPTIONAL
157 PA-PK-AS-REP-Win2k ::= CHOICE {
158         dhSignedData            [0] IMPLICIT OCTET STRING, 
159         encKeyPack              [1] IMPLICIT OCTET STRING
163 KDCDHKeyInfo-Win2k ::= SEQUENCE {
164         nonce                   [0] INTEGER (-2147483648..2147483647),
165         subjectPublicKey        [2] BIT STRING
168 ReplyKeyPack-Win2k ::= SEQUENCE {
169         replyKey                [0] EncryptionKey,
170         nonce                   [1] INTEGER (-2147483648..2147483647),
171         ...
174 PkinitSuppPubInfo ::= SEQUENCE {
175        enctype           [0] INTEGER (-2147483648..2147483647),
176        as-REQ            [1] OCTET STRING,
177        pk-as-rep         [2] OCTET STRING,
178        ticket            [3] Ticket,
179        ...