xref: /freebsd/crypto/heimdal/lib/hx509/crmf.asn1 (revision 6a068746777241722b2b32c5d0bc443a2a64d80b)
1*ae771770SStanislav Sedov-- $Id$
2c19800e8SDoug RabsonPKCS10 DEFINITIONS ::=
3c19800e8SDoug Rabson
4c19800e8SDoug RabsonBEGIN
5c19800e8SDoug Rabson
6c19800e8SDoug RabsonIMPORTS
7c19800e8SDoug Rabson	Time,
8c19800e8SDoug Rabson	GeneralName,
9c19800e8SDoug Rabson	SubjectPublicKeyInfo,
10c19800e8SDoug Rabson	RelativeDistinguishedName,
11c19800e8SDoug Rabson	AttributeTypeAndValue,
12c19800e8SDoug Rabson	Extension,
13c19800e8SDoug Rabson	AlgorithmIdentifier
14c19800e8SDoug Rabson	FROM rfc2459
15c19800e8SDoug Rabson	heim_any
16c19800e8SDoug Rabson	FROM heim;
17c19800e8SDoug Rabson
18c19800e8SDoug RabsonCRMFRDNSequence ::= SEQUENCE OF RelativeDistinguishedName
19c19800e8SDoug Rabson
20c19800e8SDoug RabsonControls  ::= SEQUENCE -- SIZE(1..MAX) -- OF AttributeTypeAndValue
21c19800e8SDoug Rabson
22c19800e8SDoug Rabson-- XXX IMPLICIT brokenness
23c19800e8SDoug RabsonPOPOSigningKey ::= SEQUENCE {
24c19800e8SDoug Rabson	poposkInput           [0] IMPLICIT POPOSigningKeyInput OPTIONAL,
25c19800e8SDoug Rabson	algorithmIdentifier   AlgorithmIdentifier,
26c19800e8SDoug Rabson	signature             BIT STRING }
27c19800e8SDoug Rabson
28c19800e8SDoug RabsonPKMACValue ::= SEQUENCE {
29c19800e8SDoug Rabson	algId  AlgorithmIdentifier,
30c19800e8SDoug Rabson	value  BIT STRING
31c19800e8SDoug Rabson}
32c19800e8SDoug Rabson
33c19800e8SDoug Rabson-- XXX IMPLICIT brokenness
34c19800e8SDoug RabsonPOPOSigningKeyInput ::= SEQUENCE {
35c19800e8SDoug Rabson	authInfo            CHOICE {
36c19800e8SDoug Rabson		sender              [0] IMPLICIT GeneralName,
37c19800e8SDoug Rabson		publicKeyMAC        PKMACValue
38c19800e8SDoug Rabson	},
39c19800e8SDoug Rabson	publicKey           SubjectPublicKeyInfo
40c19800e8SDoug Rabson}  -- from CertTemplate
41c19800e8SDoug Rabson
42c19800e8SDoug Rabson
43c19800e8SDoug RabsonPBMParameter ::= SEQUENCE {
44c19800e8SDoug Rabson   salt                OCTET STRING,
45c19800e8SDoug Rabson   owf                 AlgorithmIdentifier,
46c19800e8SDoug Rabson   iterationCount      INTEGER,
47c19800e8SDoug Rabson   mac                 AlgorithmIdentifier
48c19800e8SDoug Rabson}
49c19800e8SDoug Rabson
50c19800e8SDoug RabsonSubsequentMessage ::= INTEGER {
51c19800e8SDoug Rabson	encrCert (0),
52c19800e8SDoug Rabson	challengeResp (1)
53c19800e8SDoug Rabson}
54c19800e8SDoug Rabson
55c19800e8SDoug Rabson-- XXX IMPLICIT brokenness
56c19800e8SDoug RabsonPOPOPrivKey ::= CHOICE {
57c19800e8SDoug Rabson	thisMessage       [0] BIT STRING,         -- Deprecated
58c19800e8SDoug Rabson	subsequentMessage [1] IMPLICIT SubsequentMessage,
59c19800e8SDoug Rabson	dhMAC             [2] BIT STRING,         -- Deprecated
60c19800e8SDoug Rabson	agreeMAC          [3] IMPLICIT PKMACValue,
61c19800e8SDoug Rabson	encryptedKey      [4] heim_any
62c19800e8SDoug Rabson}
63c19800e8SDoug Rabson
64c19800e8SDoug Rabson-- XXX IMPLICIT brokenness
65c19800e8SDoug RabsonProofOfPossession ::= CHOICE {
66c19800e8SDoug Rabson	raVerified        [0] NULL,
67c19800e8SDoug Rabson	signature         [1] POPOSigningKey,
68c19800e8SDoug Rabson	keyEncipherment   [2] POPOPrivKey,
69c19800e8SDoug Rabson	keyAgreement      [3] POPOPrivKey
70c19800e8SDoug Rabson}
71c19800e8SDoug Rabson
72c19800e8SDoug RabsonCertTemplate ::= SEQUENCE {
73c19800e8SDoug Rabson	version      [0] INTEGER OPTIONAL,
74c19800e8SDoug Rabson	serialNumber [1] INTEGER OPTIONAL,
75c19800e8SDoug Rabson	signingAlg   [2] SEQUENCE {
76c19800e8SDoug Rabson		algorithm	OBJECT IDENTIFIER,
77c19800e8SDoug Rabson		parameters	heim_any OPTIONAL
78c19800e8SDoug Rabson	} -- AlgorithmIdentifier --   OPTIONAL,
79c19800e8SDoug Rabson	issuer       [3] IMPLICIT CHOICE {
80c19800e8SDoug Rabson		rdnSequence  CRMFRDNSequence
81c19800e8SDoug Rabson	} -- Name --  OPTIONAL,
82c19800e8SDoug Rabson	validity     [4] SEQUENCE {
83c19800e8SDoug Rabson		notBefore  [0] Time OPTIONAL,
84c19800e8SDoug Rabson		notAfter   [1] Time OPTIONAL
85c19800e8SDoug Rabson	} -- OptionalValidity -- OPTIONAL,
86c19800e8SDoug Rabson	subject      [5] IMPLICIT CHOICE {
87c19800e8SDoug Rabson		rdnSequence  CRMFRDNSequence
88c19800e8SDoug Rabson	} -- Name -- OPTIONAL,
89c19800e8SDoug Rabson	publicKey    [6] IMPLICIT SEQUENCE  {
90c19800e8SDoug Rabson		algorithm            AlgorithmIdentifier,
91c19800e8SDoug Rabson		subjectPublicKey     BIT STRING OPTIONAL
92c19800e8SDoug Rabson	} -- SubjectPublicKeyInfo -- OPTIONAL,
93c19800e8SDoug Rabson	issuerUID    [7] IMPLICIT BIT STRING OPTIONAL,
94c19800e8SDoug Rabson	subjectUID   [8] IMPLICIT BIT STRING OPTIONAL,
95c19800e8SDoug Rabson	extensions   [9] IMPLICIT SEQUENCE OF Extension OPTIONAL
96c19800e8SDoug Rabson}
97c19800e8SDoug Rabson
98c19800e8SDoug RabsonCertRequest ::= SEQUENCE {
99c19800e8SDoug Rabson	certReqId	INTEGER,
100c19800e8SDoug Rabson	certTemplate	CertTemplate,
101c19800e8SDoug Rabson	controls	Controls OPTIONAL
102c19800e8SDoug Rabson}
103c19800e8SDoug Rabson
104c19800e8SDoug RabsonCertReqMsg ::= SEQUENCE {
105c19800e8SDoug Rabson	certReq		CertRequest,
106c19800e8SDoug Rabson	popo		ProofOfPossession  OPTIONAL,
107c19800e8SDoug Rabson	regInfo		SEQUENCE OF AttributeTypeAndValue OPTIONAL }
108c19800e8SDoug Rabson
109c19800e8SDoug RabsonCertReqMessages ::= SEQUENCE OF CertReqMsg
110c19800e8SDoug Rabson
111c19800e8SDoug Rabson
112c19800e8SDoug RabsonEND
113c19800e8SDoug Rabson
114