ICertAdmin ::IsValidCertificate, méthode (certadm.h)
La méthode IsValidCertificate vérifie le certificat par rapport à la clé de l’autorité de certification et vérifie que le certificat n’a pas été révoqué. Cette méthode a d’abord été définie dans l’interface ICertAdmin .
Syntaxe
HRESULT IsValidCertificate(
[in] const BSTR strConfig,
[in] const BSTR strSerialNumber,
[out, retval] LONG *pDisposition
);
Paramètres
[in] strConfig
Représente une chaîne de configuration valide pour l’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, comme 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] strSerialNumber
Spécifie un numéro de série qui identifie le certificat à examiner. La chaîne doit spécifier le numéro de série en tant que nombre pair de chiffres hexadécimaux. Si nécessaire, un zéro peut être préfixé au nombre pour produire un nombre pair de chiffres. Il n’est pas possible d’utiliser plus d’un zéro de début.
[out, retval] pDisposition
Pointeur vers un LONG qui reçoit la valeur de disposition.
Valeur retournée
C++
Si la méthode réussit et que le paramètre pDisposition est défini sur l’une des valeurs suivantes, 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.
VB
La valeur de retour spécifie la disposition du certificat. Cette valeur est l’une des valeurs suivantes. (Ces valeurs sont définies dans Certadm.h.)Code de retour | Description |
---|---|
|
L’appel n’a pas été terminé. |
|
L'appel a échoué. |
|
Le certificat a été révoqué. |
|
Le certificat est toujours valide. |
|
Le certificat n’a jamais été émis. |
|
Le certificat est en attente. |
Remarques
Cette méthode détermine uniquement si un certificat a été émis et n’est pas révoqué actuellement ; il n’case activée pas que l’heure et la date actuelles se trouvent dans la période pendant laquelle le certificat est valide (les propriétés de certificat NotBefore et NotAfter). Une application qui utilise cette méthode est également responsable de la vérification de l’expiration du certificat.
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 le même système d’exploitation Windows.
Exemples
BSTR bstrCA = NULL; // Machine\CAName
BSTR bstrSerial = NULL; // Contains the certificate
// serial number
long nDisp; // Contains the certificate
// disposition
HRESULT hr;
bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
bstrSerial = SysAllocString(L"<SERIALNUMBERHERE>");
if (NULL == bstrCA || NULL == bstrSerial)
{
printf("Memory allocation failed\n");
goto error;
}
// Determine whether the certificate is valid.
// pCertAdmin is a previously instantiated ICertAdmin
// object pointer.
hr = pCertAdmin->IsValidCertificate(bstrCA, bstrSerial, &nDisp);
if (FAILED(hr))
{
printf("Failed IsValidCertificate [%x]\n", hr);
goto error;
}
// Use nDisp as needed.
// Done processing.
error:
// Free BSTR values.
if (NULL != bstrCA)
SysFreeString(bstrCA);
if (NULL != bstrSerial)
SysFreeString(bstrSerial);
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 |