aboutsummaryrefslogtreecommitdiffstats
path: root/lib/public_key/asn1/PKCS-10.asn1
blob: 333104d230846b0314333094ffbe7c3448d08667 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
PKCS-10 {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
pkcs-10(10) modules(1) pkcs-10(1)}

-- $Revision: 1.3 $ --

DEFINITIONS IMPLICIT TAGS ::=

BEGIN

-- EXPORTS All --
-- All types and values defined in this module are exported for use
-- in other ASN.1 modules.

IMPORTS

--informationFramework, authenticationFramework
--    FROM UsefulDefinitions {joint-iso-itu-t(2) ds(5) module(1)
--    usefulDefinitions(0) 3}

    ATTRIBUTE
    FROM InformationFramework informationFramework

    Name
    FROM PKIX1Explicit88 --InformationFramework informationFramework

    ALGORITHM
       FROM PKCS-7; --AuthenticationFramework authenticationFramework;

-- Certificate requests

CertificationRequestInfo ::= SEQUENCE {
    version       INTEGER { v1(0) } (v1,...),
    subject       Name,
    subjectPKInfo SubjectPublicKeyInfo-PKCS-10{{ PKInfoAlgorithms }},
    attributes    [0] Attributes{{ CRIAttributes }}
}

SubjectPublicKeyInfo-PKCS-10 {ALGORITHM: IOSet} ::= SEQUENCE {
    algorithm		AlgorithmIdentifierPKCS-10{{IOSet}},
    subjectPublicKey 	BIT STRING
}

PKInfoAlgorithms ALGORITHM ::= {
    ... -- add any locally defined algorithms here -- }

Attributes { ATTRIBUTE:IOSet } ::= SET OF AttributePKCS-10{{ IOSet }}

CRIAttributes  ATTRIBUTE  ::= {
... -- add any locally defined attributes here -- }

AttributePKCS-10 { ATTRIBUTE:IOSet } ::= SEQUENCE {
    type   	ATTRIBUTE.&id({IOSet}),
    values 	SET SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{@type})
}

CertificationRequest ::= SEQUENCE {
    certificationRequestInfo CertificationRequestInfo,
    signatureAlgorithm	     AlgorithmIdentifierPKCS-10{{ SignatureAlgorithms }},
    signature                BIT STRING
}

AlgorithmIdentifierPKCS-10 {ALGORITHM:IOSet } ::= SEQUENCE {
    algorithm  	ALGORITHM.&id({IOSet}),
    parameters 	ALGORITHM.&Type({IOSet}{@algorithm}) OPTIONAL
}

SignatureAlgorithms ALGORITHM ::= {
    ... -- add any locally defined algorithms here -- }

END