corrected copyright notices
[gnutls.git] / lib / gnutls.asn
blob9eaae4e1588ff6f019db030cd77aa02c2fd29973
1 GNUTLS { }
3 DEFINITIONS EXPLICIT TAGS ::=
5 BEGIN
7 -- This file contains parts of PKCS-1 structures and some stuff
8 -- required for DSA keys.
10 RSAPublicKey ::= SEQUENCE {
11         modulus                 INTEGER, -- n
12         publicExponent          INTEGER  -- e 
15 -- 
16 -- Representation of RSA private key with information for the 
17 -- CRT algorithm.
19 RSAPrivateKey ::= SEQUENCE {
20   version          INTEGER,
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 {
35   prime INTEGER,  -- ri
36   exponent INTEGER, -- di
37   coefficient INTEGER -- ti 
40 -- for signature calculation
41 -- added by nmav
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,
53      digest Digest 
56 DigestAlgorithmIdentifier ::= AlgorithmIdentifier
58 Digest ::= OCTET STRING
60 DSAPublicKey ::= INTEGER
62 DSAParameters ::= SEQUENCE {
63         p                   INTEGER,
64         q                   INTEGER,
65         g                   INTEGER
68 DSASignatureValue ::= SEQUENCE {
69         r                   INTEGER,
70         s                   INTEGER
73 DSAPrivateKey ::= SEQUENCE {
74   version  INTEGER, -- should be zero
75   p        INTEGER,
76   q        INTEGER,
77   g        INTEGER,
78   Y        INTEGER, -- public
79   priv     INTEGER
82 -- from PKCS#3
83 DHParameter ::= SEQUENCE {
84   prime               INTEGER, -- p
85   base                INTEGER, -- g
86   privateValueLength  INTEGER OPTIONAL 
89 -- ECC from RFC5480
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