3 DEFINITIONS EXPLICIT TAGS ::=
7 -- This file contains parts of PKCS-1 structures and some stuff
8 -- required for DSA keys.
10 RSAPublicKey ::= SEQUENCE {
12 publicExponent INTEGER -- e
16 -- Representation of RSA private key with information for the
19 RSAPrivateKey ::= SEQUENCE {
21 modulus INTEGER, -- (Usually large) n
22 publicExponent INTEGER, -- (Usually small) e
23 privateExponent INTEGER, -- (Usually large) d
24 prime1 INTEGER, -- (Usually large) p
25 prime2 INTEGER, -- (Usually large) q
26 exponent1 INTEGER, -- (Usually large) d mod (p-1)
27 exponent2 INTEGER, -- (Usually large) d mod (q-1)
28 coefficient INTEGER, -- (Usually large) (inverse of q) mod p
29 otherPrimeInfos OtherPrimeInfos OPTIONAL
32 OtherPrimeInfos ::= SEQUENCE SIZE(1..MAX) OF OtherPrimeInfo
34 OtherPrimeInfo ::= SEQUENCE {
36 exponent INTEGER, -- di
37 coefficient INTEGER -- ti
40 -- for signature calculation
43 AlgorithmIdentifier ::= SEQUENCE {
44 algorithm OBJECT IDENTIFIER,
45 parameters ANY DEFINED BY algorithm OPTIONAL
47 -- contains a value of the type
48 -- registered for use with the
49 -- algorithm object identifier value
51 DigestInfo ::= SEQUENCE {
52 digestAlgorithm DigestAlgorithmIdentifier,
56 DigestAlgorithmIdentifier ::= AlgorithmIdentifier
58 Digest ::= OCTET STRING
60 DSAPublicKey ::= INTEGER
62 DSAParameters ::= SEQUENCE {
68 DSASignatureValue ::= SEQUENCE {
73 DSAPrivateKey ::= SEQUENCE {
74 version INTEGER, -- should be zero
83 DHParameter ::= SEQUENCE {
86 privateValueLength INTEGER OPTIONAL
90 ECPoint ::= OCTET STRING
92 ECParameters ::= CHOICE {
93 namedCurve OBJECT IDENTIFIER
96 ECPrivateKey ::= SEQUENCE {
97 Version INTEGER, -- { ecPrivkeyVer1(1) }
98 privateKey OCTET STRING,
99 parameters [0] ECParameters OPTIONAL,
100 publicKey [1] BIT STRING OPTIONAL