WebCrypto.asn   [plain text]


WebCrypto { }

DEFINITIONS EXPLICIT TAGS ::=

BEGIN

-- http://www.ietf.org/rfc/rfc5280.txt Appendix A.1

SubjectPublicKeyInfo ::=  SEQUENCE  {
  algorithm         AlgorithmIdentifier,
  subjectPublicKey  BIT STRING
}

AlgorithmIdentifier ::=  SEQUENCE  {
  algorithm   OBJECT IDENTIFIER,
  parameters  ANY DEFINED BY algorithm OPTIONAL
}

-- http://www.ietf.org/rfc/rfc5208.txt Appendix A

PrivateKeyInfo ::= SEQUENCE {
  version                   Version,
  privateKeyAlgorithm       PrivateKeyAlgorithmIdentifier,
  privateKey                PrivateKey,
  attributes           [0]  IMPLICIT Attributes OPTIONAL
}

Version ::= INTEGER

PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier

PrivateKey ::= OCTET STRING

Attributes ::= SET OF Attribute

Attribute ::= SEQUENCE {
  type    OBJECT IDENTIFIER,
  values  AttributeSetValue
}

AttributeSetValue ::= SET OF ANY

-- http://www.ietf.org/rfc/rfc5480.txt Appendix A

ECParameters ::= CHOICE {
  namedCurve         OBJECT IDENTIFIER -- MUST be supported.
  -- implicitCurve   NULL - MUST NOT be used.
  -- specifiedCurve  SpecifiedECDomain - MUST NOT be used.
}

-- http://www.ietf.org/rfc/rfc5915.txt Appendix A

ECPrivateKey ::= SEQUENCE {
  version        INTEGER,
  privateKey     OCTET STRING,
  parameters [0] ECParameters OPTIONAL,
  publicKey  [1] BIT STRING OPTIONAL
}

-- http://www.ietf.org/rfc/rfc3447.txt Appendix A.1.1

RSAPublicKey ::= SEQUENCE {
  modulus           INTEGER,  -- n
  publicExponent    INTEGER   -- e
}

-- http://www.ietf.org/rfc/rfc3447.txt Appendix A.1.2

RSAPrivateKey ::= SEQUENCE {
  version           Version,
  modulus           INTEGER,  -- n
  publicExponent    INTEGER,  -- e
  privateExponent   INTEGER,  -- d
  prime1            INTEGER,  -- p
  prime2            INTEGER,  -- q
  exponent1         INTEGER,  -- d mod (p-1)
  exponent2         INTEGER,  -- d mod (q-1)
  coefficient       INTEGER,  -- (inverse of q) mod p
  otherPrimeInfos   OtherPrimeInfos OPTIONAL
}

OtherPrimeInfos ::= SEQUENCE SIZE(1..MAX) OF OtherPrimeInfo

OtherPrimeInfo ::= SEQUENCE {
  prime INTEGER,  -- ri
  exponent INTEGER, -- di
  coefficient INTEGER -- ti
}

END