Partager via


ICertServerExit ::GetRequestProperty, méthode (certif.h)

La méthode GetRequestProperty retourne une propriété nommée à partir d’une requête.

Notez que la demande est utilisée pour contenir tous les états associés pour la demande et le certificat éventuellement accordé qui ne fait pas partie du certificat. Ainsi, les données telles que les heures de révocation et les données de suppression sont conservées dans l’objet de données de demande.

Syntaxe

HRESULT GetRequestProperty(
  [in]  const BSTR strPropertyName,
  [in]  LONG       PropertyType,
  [out] VARIANT    *pvarPropertyValue
);

Paramètres

[in] strPropertyName

Spécifie la propriété à récupérer. Il existe un ensemble stock de propriétés de certificat, appelées propriétés de nom, qui sont toujours valides et peuvent être récupérées en appelant cette méthode. Pour plus d’informations sur ces propriétés, consultez Propriétés du nom.

Les autres propriétés valides pour les demandes de certificat incluent les propriétés de requête.

Note Les propriétés DistinguishedName et RawName de la demande sont accessibles par GetRequestProperty uniquement si le certificat est demandé à l’aide d’une demande de certificat PKCS #10 ou d’un autre format de demande pris en charge qui contient des informations de nom d’objet encodé. Notez que les requêtes KeyGen ne contiennent pas d’informations de nom d’objet encodées.
 

Les propriétés suivantes sont propres aux requêtes et sont accessibles à l’aide de la méthode GetRequestProperty .

Propriété Request Signification
Disposition
Long signé
Suppression actuelle de la requête
DispositionMessage
String
Message de suppression d’informations
RawCACertificate
Binary
Certificat pour l’autorité de certification émettrice
RawRequest
Binary
Octets de requête bruts
RequestAttributes
String
Chaîne d’attribut (peut être tronquée)
RequesterName
String
Nom du demandeur sous la forme « DomainName\UserID »
RequestID
Long signé
ID de requête interne
RequestType
Long signé
Indique la requête PKCS #10 ou KeyGen
RésoluWhen
Date/heure
En cas de résolution
StatusCode
Long signé
Erreur Windows pour la dernière opération
SoumisWhen
Date/heure
À l’arrivée
 

La propriété RequestType sera l’une des valeurs suivantes.

Valeur Signification
CR_IN_PKCS7
Demande de renouvellement ou d’inscription PKCS #7
CR_IN_PKCS10
Requête PKCS #10
CR_IN_KEYGEN
Requête keygen (format Netscape)
 

En outre, d’autres propriétés peuvent être définies par un type de requête spécifique, des extensions de demande ou par des attributs nommés définis dans l’en-tête d’une requête.

[in] PropertyType

Spécifie le type de propriété. Le type peut être l’un des types suivants.

Valeur Signification
PROPTYPE_LONG
Données longues signées
PROPTYPE_DATE
Date/heure
PROPTYPE_BINARY
Données binaires
PROPTYPE_STRING
Données de chaîne Unicode

[out] pvarPropertyValue

Pointeur vers le VARIANT qui contiendra le type de propriété de requête.

Valeur retournée

C++

Si la méthode réussit, la méthode retourne S_OK, et *pvarPropertyValue est défini sur la valeur VARIANT qui contient la valeur de la propriété de requête.

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.

VB

La valeur de retour est la valeur de la propriété de requête.

Remarques

Vous devez appeler ICertServerExit ::SetContext avant d’utiliser cette méthode.

Exemples

BSTR      bstrPropName = NULL;
VARIANT   varProp;

VariantInit( &varProp );

bstrPropName = SysAllocString(L"RequestID");

// Retrieve the request property.
// pCertServerExit has been used to call SetContext previously.
hr = pCertServerExit->GetRequestProperty( bstrPropName,
                                          PROPTYPE_LONG,
                                          &varProp );
if (FAILED(hr))
{
    printf("Failed GetRequestProperty [%x]\n", hr);
    goto error;
}
else
{
    // Successfully retrieved property; use varProp as needed.
    // ...
}

// Done processing.
VariantClear( &varProp );
if ( NULL != bstrPropName )
    SysFreeString( bstrPropName );

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 certif.h (include Certsrv.h)
Bibliothèque Certidl.lib
DLL Certcli.dll

Voir aussi

ICertServerExit

ICertServerExit ::SetContext

Propriétés du nom