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