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 et contraintes de certificat, les formulaires de nom alternatifs, 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 ASN.1 ( Abstract Syntax Notation One ) suivante.
Extension ::= SEQUENCE
{
extnId OBJECT IDENTIFIER,
critical BOOLEAN DEFAULT FALSE,
extnValue OCTETSTRING
}
L’API d’inscription de certificat contient les interfaces suivantes, dérivées d’IX509Extension, que vous pouvez utiliser pour créer les différentes extensions les plus couramment utilisées dans une infrastructure à clé publique (PKI) qui s’appuie sur un serveur de certificats Windows.
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 la clé publique de l’autorité de certification qui correspond à la clé privée de l’autorité de certification qui a signé un certificat émis. Il est utilisé par le logiciel de génération de chemin d’accès de certificat sur un serveur Windows pour rechercher le certificat d’autorité de certification. |
IX509ExtensionBasicConstraints | Définit une extension BasicConstraints qui identifie si l’entité peut être utilisée en tant qu’autorité de certification et, si c’est le cas, le nombre d’autorités de certification subordonnées qui peuvent exister sous elle 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 restreint les opérations qui peuvent ê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 d’e-mail 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 de l’extension est généralement un hachage SHA-1 de la clé. |
IX509ExtensionTemplate | Définit une extension de 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 syntaxe standard X.509 version 3. 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 aux services de l’autorité de certification. La valeur de l’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) | Contraint la validation du chemin d’accès en interdisant le mappage de stratégie ou en exigeant que tous les certificats de la hiérarchie contiennent 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 de l’extension contient une séquence de mappages de stratégie d’autorité de certification et d’autorité de certification subordonnée qui sont 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 l’objet du certificat. La valeur de l’extension est une séquence de paires OID-valeur. |
Enfin, vous pouvez utiliser l’interface IX509Extension pour définir des extensions privées qui contiennent des informations propres à 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 à l’un ou l’autre 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 rubriques Extensions PKCS #10 et Extensions CMC .
Héritage
L’interface IX509Extension hérite de l’interface IDispatch. IX509Extension a également les types de membres suivants :
Méthodes
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 Distinguished Encoding Rules (DER). |
IX509Extension ::p ut_Critical Spécifie et récupère une valeur booléenne qui identifie si l’extension de certificat est critique. (Put) |
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | certenroll.h |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour