1155517Sambrisko-- Id
2155517SambriskoPKCS10 DEFINITIONS ::=
3155517Sambrisko
4155517SambriskoBEGIN
5155517Sambrisko
6155517SambriskoIMPORTS
7155517Sambrisko	Time,
8155517Sambrisko	GeneralName,
9155517Sambrisko	SubjectPublicKeyInfo,
10155517Sambrisko	RelativeDistinguishedName,
11155517Sambrisko	AttributeTypeAndValue,
12155517Sambrisko	Extension,
13155517Sambrisko	AlgorithmIdentifier
14155517Sambrisko	FROM rfc2459
15155517Sambrisko	heim_any
16155517Sambrisko	FROM heim;
17155517Sambrisko
18155517SambriskoCRMFRDNSequence ::= SEQUENCE OF RelativeDistinguishedName
19155517Sambrisko
20155517SambriskoControls  ::= SEQUENCE -- SIZE(1..MAX) -- OF AttributeTypeAndValue
21155517Sambrisko
22155517Sambrisko-- XXX IMPLICIT brokenness
23155517SambriskoPOPOSigningKey ::= SEQUENCE {
24155517Sambrisko	poposkInput           [0] IMPLICIT POPOSigningKeyInput OPTIONAL,
25155517Sambrisko	algorithmIdentifier   AlgorithmIdentifier,
26155517Sambrisko	signature             BIT STRING }
27155517Sambrisko
28155517SambriskoPKMACValue ::= SEQUENCE {
29162562Sjhb	algId  AlgorithmIdentifier,
30162562Sjhb	value  BIT STRING
31162562Sjhb}
32155517Sambrisko
33155517Sambrisko-- XXX IMPLICIT brokenness
34155517SambriskoPOPOSigningKeyInput ::= SEQUENCE {
35155517Sambrisko	authInfo            CHOICE {
36155517Sambrisko		sender              [0] IMPLICIT GeneralName,
37155517Sambrisko		publicKeyMAC        PKMACValue
38155517Sambrisko	},
39155517Sambrisko	publicKey           SubjectPublicKeyInfo
40155517Sambrisko}  -- from CertTemplate
41155517Sambrisko
42155517Sambrisko
43155517SambriskoPBMParameter ::= SEQUENCE {
44155517Sambrisko   salt                OCTET STRING,
45155517Sambrisko   owf                 AlgorithmIdentifier,
46155517Sambrisko   iterationCount      INTEGER,
47155517Sambrisko   mac                 AlgorithmIdentifier
48155517Sambrisko}
49155517Sambrisko
50155517SambriskoSubsequentMessage ::= INTEGER {
51155517Sambrisko	encrCert (0),
52155517Sambrisko	challengeResp (1)
53155517Sambrisko}
54155517Sambrisko
55155517Sambrisko-- XXX IMPLICIT brokenness
56155517SambriskoPOPOPrivKey ::= CHOICE {
57155517Sambrisko	thisMessage       [0] BIT STRING,         -- Deprecated
58155517Sambrisko	subsequentMessage [1] IMPLICIT SubsequentMessage,
59155517Sambrisko	dhMAC             [2] BIT STRING,         -- Deprecated
60155517Sambrisko	agreeMAC          [3] IMPLICIT PKMACValue,
61155517Sambrisko	encryptedKey      [4] heim_any
62155517Sambrisko}
63155517Sambrisko
64155517Sambrisko-- XXX IMPLICIT brokenness
65155517SambriskoProofOfPossession ::= CHOICE {
66155517Sambrisko	raVerified        [0] NULL,
67155517Sambrisko	signature         [1] POPOSigningKey,
68155517Sambrisko	keyEncipherment   [2] POPOPrivKey,
69155517Sambrisko	keyAgreement      [3] POPOPrivKey
70155517Sambrisko}
71155517Sambrisko
72155517SambriskoCertTemplate ::= SEQUENCE {
73155517Sambrisko	version      [0] INTEGER OPTIONAL,
74155517Sambrisko	serialNumber [1] INTEGER OPTIONAL,
75155517Sambrisko	signingAlg   [2] SEQUENCE {
76155517Sambrisko		algorithm	OBJECT IDENTIFIER,
77155517Sambrisko		parameters	heim_any OPTIONAL
78155517Sambrisko	} -- AlgorithmIdentifier --   OPTIONAL,
79155517Sambrisko	issuer       [3] IMPLICIT CHOICE {
80155517Sambrisko		rdnSequence  CRMFRDNSequence
81155517Sambrisko	} -- Name --  OPTIONAL,
82155517Sambrisko	validity     [4] SEQUENCE {
83155517Sambrisko		notBefore  [0] Time OPTIONAL,
84155517Sambrisko		notAfter   [1] Time OPTIONAL
85155517Sambrisko	} -- OptionalValidity -- OPTIONAL,
86155517Sambrisko	subject      [5] IMPLICIT CHOICE {
87155517Sambrisko		rdnSequence  CRMFRDNSequence
88155517Sambrisko	} -- Name -- OPTIONAL,
89155517Sambrisko	publicKey    [6] IMPLICIT SEQUENCE  {
90155517Sambrisko		algorithm            AlgorithmIdentifier,
91155517Sambrisko		subjectPublicKey     BIT STRING OPTIONAL
92155517Sambrisko	} -- SubjectPublicKeyInfo -- OPTIONAL,
93155517Sambrisko	issuerUID    [7] IMPLICIT BIT STRING OPTIONAL,
94155517Sambrisko	subjectUID   [8] IMPLICIT BIT STRING OPTIONAL,
95155517Sambrisko	extensions   [9] IMPLICIT SEQUENCE OF Extension OPTIONAL
96155517Sambrisko}
97155517Sambrisko
98155517SambriskoCertRequest ::= SEQUENCE {
99155517Sambrisko	certReqId	INTEGER,
100155517Sambrisko	certTemplate	CertTemplate,
101155517Sambrisko	controls	Controls OPTIONAL
102155517Sambrisko}
103155517Sambrisko
104155517SambriskoCertReqMsg ::= SEQUENCE {
105155517Sambrisko	certReq		CertRequest,
106155517Sambrisko	popo		ProofOfPossession  OPTIONAL,
107155517Sambrisko	regInfo		SEQUENCE OF AttributeTypeAndValue OPTIONAL }
108155517Sambrisko
109155517SambriskoCertReqMessages ::= SEQUENCE OF CertReqMsg
110155517Sambrisko
111155517Sambrisko
112155517SambriskoEND
113155517Sambrisko
114155517Sambrisko