Partager via


Interface IX509Extension (certenroll.h)

L’interface IX509Extension peut être utilisée pour définir une extension pour une demande de certificat . Les extensions de certificat fournissent des informations sur l’utilisation des clés, les stratégies de certificat et les contraintes, les autres formulaires de nom, etc. Une extension se compose d’un identificateur d’objet (OID), d’une valeur booléenne qui identifie si l’extension est critique et d’un tableau d’octets qui contient la valeur d’extension, comme le montre la syntaxe syntaxe abstraite notation one (ASN.1).


Extension ::= SEQUENCE 
{
   extnId              OBJECT IDENTIFIER,
   critical            BOOLEAN DEFAULT FALSE,
   extnValue           OCTETSTRING
}

L’API d’inscription de certificat contient les interfaces suivantes, dérivées de IX509Extension, que vous pouvez utiliser pour créer les différentes extensions utilisées le plus couramment dans une infrastructure à clé publique (PKI) qui s’appuie sur un serveur de certificats Windows .

Remarque N’utilisez pas l’interface de base IX509Extension pour représenter n’importe quelle extension qui peut être représentée par l’une des interfaces suivantes. Le comportement d’inscription n’est pas défini si l’interface appropriée n’est pas utilisée.

 
Interface Description
IX509ExtensionAlternativeNames Définit une extension AlternativeNames qui contient un ou plusieurs formulaires de nom alternatifs pour l’objet de la demande de certificat.
IX509ExtensionAuthorityKeyIdentifier Définit une extension AuthorityKeyIdentifier qui permet d’identifier l’autorité de certification clé publique qui correspond à l’autorité de certification clé privée qui a signé un certificat émis. Il est utilisé par le chemin d’accès au certificat qui crée des logiciels sur un serveur Windows pour rechercher le certificat de l’autorité de certification.
IX509ExtensionBasicConstraints Définit une extension BasicConstraints qui identifie si l’entité peut être utilisée comme autorité de certification et, le cas échéant, le nombre d’autorités de certification subordonnées qui peuvent exister en dessous dans la chaîne de certificats.
IX509ExtensionCertificatePolicies Définit une extension CertificatePolicies qui identifie les stratégies sous lesquelles le certificat a été émis et les objectifs pour lesquels il peut être utilisé.
IX509ExtensionEnhancedKeyUsage Définit une extension EnhancedKeyUsage qui identifie une ou plusieurs utilisations de la clé publique contenue dans le certificat.
IX509ExtensionKeyUsage Définit une extension KeyUsage qui limite les opérations pouvant être effectuées par la clé publique contenue dans le certificat.
IX509ExtensionMSApplicationPolicies Définit une extension MSApplicationPolicies qui peut être utilisée par une application pour filtrer les certificats en fonction de l’utilisation autorisée. Les utilisations autorisées sont identifiées par des identificateurs d’objet (OID).
IX509ExtensionSmimeCapabilities Définit une extension SmimeCapabilities qui identifie les fonctionnalités de déchiffrement d’un destinataire de courrier afin que l’expéditeur de l’e-mail puisse choisir l’algorithme de chiffrement le plus sécurisé pris en charge par les deux parties.
IX509ExtensionSubjectKeyIdentifier Définit une extension SubjectKeyIdentifier qui différencie plusieurs clés publiques détenues par le propriétaire du certificat. La valeur d’extension est généralement un hachage SHA-1 de la clé.
IX509ExtensionTemplate Définit une extension modèle qui identifie le modèle version 2 à utiliser lors de l’émission ou du renouvellement d’un certificat.
IX509ExtensionTemplateName Définit une extension TemplateName qui identifie le modèle version 1 à utiliser lors de l’émission ou du renouvellement d’un certificat.
 

La plupart des extensions qui peuvent être créées à l’aide des interfaces précédentes sont définies par la version 3 X.509 standard de syntaxe. Pour créer les extensions de version 3 pour lesquelles Microsoft ne fournit pas d’objet personnalisé, vous pouvez utiliser l’interface IX509Extension. Ces extensions sont identifiées dans le tableau suivant.

Extension/OID Description
AuthorityInformationAccess(XCN_OID_AUTHORITY_INFO_ACCESS) Identifie comment accéder aux informations et services de l’autorité de certification. La valeur d’extension contient une séquence d’URI.
CrlDistributionPoints(XCN_OID_CRL_DIST_POINTS) Contient l’URI de la liste de révocation de certificats de base (CRL).
FreshestCRL (XCN_OID_FRESHEST_CRL) Contient l’URI de la liste de révocation de certificats delta. La même syntaxe ASN.1 est utilisée pour cette extension et l’extension CrlDistributionPoints.
NameConstraints(XCN_OID_NAME_CONSTRAINTS) Identifie l’espace de noms dans lequel tous les noms d’objet des certificats d’une hiérarchie de certificats doivent se trouver. L’extension est utilisée uniquement dans un certificat d’autorité de certification.
PolicyConstraints(XCN_OID_POLICY_CONSTRAINTS) Limite la validation du chemin en interdisant le mappage de stratégie ou en exigeant que chaque certificat de la hiérarchie contienne un identificateur de stratégie acceptable.
PolicyMappings (XCN_OID_POLICY_MAPPINGS) Identifie les stratégies d’une autorité de certification subordonnée qui correspondent aux stratégies de l’autorité de certification émettrice. La valeur d’extension contient une séquence de mappages d’autorité de certification et d’autorité de certification subordonnés représentés par des identificateurs d’objet.
PrivateKeyUsagePeriod(XCN_OID_PRIVATEKEY_USAGE_PERIOD) Spécifie une période de validité différente pour la clé privée que pour le certificat auquel la clé est associée.
SubjectDirectoryAttributes(XCN_OID_SUBJECT_DIR_ATTRS) Transmet des attributs d’identification tels que la nationalité concernant le sujet du certificat. La valeur d’extension est une séquence de paires OID-value.
 

Enfin, vous pouvez utiliser l’interface IX509Extension pour définir des extensions privées qui contiennent des informations uniques à une communauté spécifique.

Les extensions sont ajoutées à la structure Attributes d’une requête PKCS #10 et à la structure TaggedAttributes d’une requête CMC. Pour ajouter des extensions au format de requête, vous devez d’abord les ajouter à une collection IX509Extensions et utiliser la collection pour initialiser un objet IX509AttributeExtensions. Pour plus d’informations, consultez les extensions PKCS #10 et les extensions CMC rubriques.

Héritage

L’interface IX509Extension hérite de l’interface IDispatch. IX509Extension possède également ces types de membres :

Méthode

L’interface IX509Extension possède ces méthodes.

 
IX509Extension ::get_Critical

Spécifie et récupère une valeur booléenne qui identifie si l’extension de certificat est critique. (Obtenir)
IX509Extension ::get_ObjectId

Récupère l’identificateur d’objet (OID) de l’extension.
IX509Extension ::get_RawData

Récupère un tableau d’octets qui contient la valeur d’extension. (IX509Extension.get_RawData)
IX509Extension ::Initialize

Initialise un objet IX509Extension à l’aide d’un identificateur d’objet (OID) et d’un tableau d’octets qui contient l’extension encodée DER (Distinguished Encoding Rules).
IX509Extension ::p ut_Critical

Spécifie et récupère une valeur booléenne qui identifie si l’extension de certificat est critique. (Put)

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2008 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête certenroll.h

Voir aussi

API d’inscription de certificat

ICryptAttribute

IDispatch

IX509AttributeExtensions

IX509Extensions