ICertAdmin ::SetRequestAttributes, méthode (certadm.h)
La méthode SetRequestAttributes définit les attributs dans la demande de certificat en attente spécifiée. Cette méthode a d’abord été définie dans l’interface ICertAdmin .
Pour que cette méthode réussisse, la demande de certificat doit être en attente.
Syntaxe
HRESULT SetRequestAttributes(
[in] const BSTR strConfig,
[in] LONG RequestId,
[in] const BSTR strAttributes
);
Paramètres
[in] strConfig
Représente une chaîne de configuration valide pour le serveur d’autorité de certification sous la forme COMPUTERNAME\CANAME, où COMPUTERNAME est le nom réseau du serveur des services de certificats et CANAME est le nom commun de l’autorité de certification, tel qu’entré lors de l’installation des services de certificats. Pour plus d’informations sur le nom de la chaîne de configuration, consultez ICertConfig.
[in] RequestId
Spécifie l’ID de la demande recevant les attributs.
[in] strAttributes
Spécifie les données d’attribut. Chaque attribut est une paire de chaînes nom-valeur. Le caractère deux-points sépare le nom et la valeur, et un caractère de nouvelle ligne sépare plusieurs paires nom-valeur, par exemple :
C++ | AttributeName1 :AttributeValue1\nAttributeName2 :AttributeValue2 |
VB | AttributeName1 :AttributeValue1 & vbNewLine & AttributeName2 :AttributeValue2 |
Lorsque Les services de certificats analysent les noms d’attributs, ils ignorent les espaces, les traits d’union (signes moins) et la casse. Par exemple, AttributeName1, Attribute Name1 et Attribute-name1 sont tous équivalents. Pour les valeurs d’attribut, les services de certificats ignorent les espaces blancs de début et de fin.
Valeur retournée
VB
Si la méthode réussit, la méthode retourne S_OK.Si la méthode échoue, elle retourne une valeur HRESULT qui indique l’erreur. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.
Remarques
Les attributs ajoutés ou mis à jour en appelant SetRequestAttributes ne modifient pas la chaîne d’attribut initiale non affectée associée à la demande de certificat. La chaîne d’attribut non étudiée de la demande de certificat est inaltérable une fois le certificat demandé (la méthode ICertRequest ::Submit autorise la spécification des attributs au moment où le certificat est demandé).
Vous pouvez utiliser le composant logiciel enfichable MMC Autorité de certification pour afficher la chaîne d’attribut de requête initiale non préparée.
Lorsque vous affichez les attributs analysés, vous voyez également les modifications dues aux appels à SetRequestAttributes.
Pour afficher les attributs analysés
- Ouvrez le composant logiciel enfichable MMC Autorité de certification.
- Ouvrez le dossier Demandes en attente .
- Cliquez avec le bouton droit sur une demande, pointez sur Toutes les tâches, puis cliquez sur Afficher les attributs/extensions.
Les tâches d’administration utilisent DCOM. Le code qui appelle cette méthode d’interface telle que définie dans une version antérieure de Certadm.h s’exécute sur les serveurs Windows tant que le client et le serveur exécutent tous les deux le même système d’exploitation Windows.
Exemples
BSTR bstrAttribs = NULL;
BSTR bstrCA = NULL;
long nReqID; // request ID
// Specify the attributes.
// For example, "AttName1:AttValue1\nAttName2:AttValue2".
bstrAttribs = SysAllocString(L"<ATTRIBUTESHERE>");
if (NULL == bstrAttribs)
{
printf("Memory allocation failed for bstrAttribs.\n");
goto error;
}
bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
if (NULL == bstrCA)
{
printf("Memory allocation failed for bstrCA.\n");
goto error;
}
// Request ID to receive the attributes.
nReqID = <REQUESTIDHERE>;
// Add these attributes to the certificate.
// pCertAdmin is a previously instantiated
// ICertAdmin object pointer.
hr = pCertAdmin->SetRequestAttributes( bstrCA,
nReqID,
bstrAttribs );
if (FAILED(hr))
printf("Failed SetRequestAttributes [%x]\n", hr);
else
printf("SetRequestAttributes succeeded\n");
// Done processing.
error:
if (bstrAttribs)
SysFreeString(bstrAttribs);
if (bstrCA)
SysFreeString(bstrCA);
// Free other resources.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Aucun pris en charge |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | certadm.h (include Certsrv.h) |
Bibliothèque | Certidl.lib |
DLL | Certadm.dll |