-- PKCS10 ASN module
PKCS5
DEFINITIONS IMPLICIT TAGS ::=
BEGIN
-- EXPORTS All --
IMPORTS
-- Directory Information Framework (X.501)
Name, Attribute, Attributes
FROM InformationFramework
-- Directory Authentication Framework (X.509)
AlgorithmIdentifier, SubjectPublicKeyInfo
FROM AuthenticationFramework
-- CryptographicMessageSyntax (draft-ietf-smime-cms-13)
Signature, SignatureAlgorithmIdentifier
FROM CryptographicMessageSyntax
;
CertificationRequestInfo ::= SEQUENCE {
version VersionP10,
subject Name,
subjectPublicKeyInfo SubjectPublicKeyInfo,
attributes [0] IMPLICIT Attributes
}
VersionP10 ::= INTEGER
-- redefined, same as InformationFramework (sm_x501if.asn)
-- Attributes ::= SET OF Attribute
-- Per PKCS10 spec
CertificationRequest ::= SEQUENCE {
certificationRequestInfo CertificationRequestInfo,
signatureAlgorithm SignatureAlgorithmIdentifier,
signature Signature
}
-- This is what we actually use to avoid unnecessary
-- setup and teardown of CertificationRequestInfo when
-- signing and verifying
CertificationRequestSigned ::= SEQUENCE {
certificationRequestInfo ANY,
signatureAlgorithm SignatureAlgorithmIdentifier,
signature Signature
}
-- duplicated from CryptographicMessageSyntax
-- SignatureAlgorithmIdentifier ::= AlgorithmIdentifier
-- Signature ::= BIT STRING
END -- PKCS10