blob: c813b896412473534717951ff65bb483a8c28376 [file] [log] [blame]
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