]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - crypto/heimdal/lib/asn1/pkinit.asn1
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / crypto / heimdal / lib / asn1 / pkinit.asn1
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-san   OBJECT IDENTIFIER ::=
21   { iso(1) org(3) dod(6) internet(1) security(5) kerberosv5(2)
22     x509-sanan(2) }
23
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 }
27
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 }
31
32 MS-UPN-SAN ::= UTF8String
33
34 pa-pk-as-req INTEGER ::=                  16
35 pa-pk-as-rep INTEGER ::=                  17
36
37 td-trusted-certifiers INTEGER ::=        104
38 td-invalid-certificates INTEGER ::=      105
39 td-dh-parameters INTEGER ::=             109
40
41 DHNonce ::= OCTET STRING
42
43 KDFAlgorithmId ::= SEQUENCE {
44        kdf-id            [0] OBJECT IDENTIFIER,
45        ...
46 }
47
48 TrustedCA ::= SEQUENCE {
49         caName                  [0] IMPLICIT OCTET STRING,
50         certificateSerialNumber [1] INTEGER OPTIONAL,
51         subjectKeyIdentifier    [2] OCTET STRING OPTIONAL,
52         ...
53 }
54
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         ...
60 }
61
62 ExternalPrincipalIdentifiers ::= SEQUENCE OF ExternalPrincipalIdentifier
63
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         ...
69 }
70
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         ...
77 }
78
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         ...
87 }
88
89 TD-TRUSTED-CERTIFIERS ::= ExternalPrincipalIdentifiers
90 TD-INVALID-CERTIFICATES ::= ExternalPrincipalIdentifiers
91
92 KRB5PrincipalName ::= SEQUENCE {
93         realm                   [0] Realm,
94         principalName           [1] PrincipalName
95 }
96
97 AD-INITIAL-VERIFIED-CAS ::= SEQUENCE OF ExternalPrincipalIdentifier
98
99 DHRepInfo ::= SEQUENCE {
100         dhSignedData            [0] IMPLICIT OCTET STRING,
101         serverDHNonce           [1] DHNonce OPTIONAL,
102         ...,
103         kdf                     [2] KDFAlgorithmId OPTIONAL,
104         ...
105 }
106
107 PA-PK-AS-REP ::= CHOICE {
108         dhInfo                  [0] DHRepInfo,
109         encKeyPack              [1] IMPLICIT OCTET STRING,
110         ...
111 }
112
113 KDCDHKeyInfo ::= SEQUENCE {
114         subjectPublicKey        [0] BIT STRING,
115         nonce                   [1] INTEGER (0..4294967295),
116         dhKeyExpiration         [2] KerberosTime OPTIONAL,
117         ...
118 }
119
120 ReplyKeyPack ::= SEQUENCE {
121         replyKey                [0] EncryptionKey,
122         asChecksum              [1] Checksum,
123         ...
124 }
125
126 TD-DH-PARAMETERS ::= SEQUENCE OF AlgorithmIdentifier
127
128
129 -- Windows compat glue --
130
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)
137 }
138
139 AuthPack-Win2k ::= SEQUENCE {
140         pkAuthenticator         [0] PKAuthenticator-Win2k,
141         clientPublicValue       [1] SubjectPublicKeyInfo OPTIONAL
142 }
143
144
145 TrustedCA-Win2k ::= CHOICE {
146         caName                  [1] heim_any,
147         issuerAndSerial         [2] IssuerAndSerialNumber
148 }
149
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
155 }
156
157 PA-PK-AS-REP-Win2k ::= CHOICE {
158         dhSignedData            [0] IMPLICIT OCTET STRING, 
159         encKeyPack              [1] IMPLICIT OCTET STRING
160 }
161
162
163 KDCDHKeyInfo-Win2k ::= SEQUENCE {
164         nonce                   [0] INTEGER (-2147483648..2147483647),
165         subjectPublicKey        [2] BIT STRING
166 }
167
168 ReplyKeyPack-Win2k ::= SEQUENCE {
169         replyKey                [0] EncryptionKey,
170         nonce                   [1] INTEGER (-2147483648..2147483647),
171         ...
172 }
173
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        ...
180 }
181
182 END