CMC Extensions
Les extensions sont incluses dans une requête CMC en les ajoutant à la structure TaggedAttributes illustrée dans l’exemple de syntaxe ASN.1 suivant. Pour plus d’informations, consultez la rubrique Attributs .
CmcData ::= SEQUENCE
{
controlSequence ControlSequence,
reqSequence ReqSequence,
cmsSequence CmsSequence,
otherMsgSequence OtherMsgSequence
}
ControlSequence ::= SEQUENCE OF TaggedAttribute
TaggedAttribute ::= SEQUENCE
{
bodyPartID BodyPartID,
type EncodedObjectID,
values AttributeSetValue
}
BodyPartID ::= INTEGER (0..4294967295)
EncodedObjectID ::= OBJECT IDENTIFIER
AttributeSetValue ::= SET OF ANY
Chaque structure de la collection TaggedAttributes contient un ID entier, un identificateur d’objet ASN.1 (OID) et un ensemble de valeurs. Les extensions sont incorporées dans une requête en ajoutant une structure CmcAddExtensions au champ valeurs . La syntaxe de structure ASN.1 est illustrée dans l’exemple suivant. L’identificateur d’objet est XCN_OID_CMC_ADD_EXTENSIONS (1.3.6.1.5.5.7.7.8).
CmcAddExtensions ::= SEQUENCE
{
pkiDataReference BodyPartID,
certReferences BodyPartIDSequence,
extensions Extensions
}
Extensions ::= SEQUENCE OF Extension
Extension ::= SEQUENCE
{
extnId EncodedObjectID,
critical BOOLEAN DEFAULT FALSE,
extnValue OCTETSTRING
}
La procédure suivante explique comment utiliser l’API d’inscription de certificat pour ajouter des extensions à une demande de certificat CMC.
Pour utiliser l’API d’inscription de certificat pour ajouter des extensions à une demande de certificat CMC
- Créez une extension à l’aide de l’une des interfaces disponibles qui dérivent de l’interface IX509Extension ou utilisez directement l’objet IX509Extension pour créer des extensions personnalisées.
- Appelez la propriété X509Extensions sur l’objet IX509CertificateRequestCmc pour récupérer une collection IX509Extensions .
- Ajoutez les extensions créées à l’étape 1 à la collection IX509Extensions .
-
Appelez Inscrire pour effectuer automatiquement les actions suivantes :
- Récupérez un objet ICryptAttributes à partir de l’objet IX509CertificateRequestCmc .
- Créez et initialisez un objet IX509AttributeExtensions à l’aide de la collection IX509Extensions récupérée à l’étape 2.
- Créez une collection IX509Attributes et ajoutez-y l’objet IX509AttributeExtensions .
- Utilisez la collection IX509Attributes pour initialiser un objet ICryptAttribute .
- Ajoutez l’objet ICryptAttribute à la collection ICryptAttributes .