Metodo ICertAdmin::IsValidCertificate (certadm.h)
Il metodo IsValidCertificate verifica il certificato rispetto alla chiave ca (Certification Authority) e verifica che il certificato non sia stato revocato. Questo metodo è stato definito per la prima volta nell'interfaccia ICertAdmin .
Sintassi
HRESULT IsValidCertificate(
[in] const BSTR strConfig,
[in] const BSTR strSerialNumber,
[out, retval] LONG *pDisposition
);
Parametri
[in] strConfig
Rappresenta una stringa di configurazione valida per la CA nel formato COMPUTERNAME\CANAME, dove COMPUTERNAME è il nome di rete del server Servizi certificati e CANAME è il nome comune dell'autorità di certificazione, come immesso durante l'installazione di Servizi certificati. Per informazioni sul nome della stringa di configurazione, vedere ICertConfig.
[in] strSerialNumber
Specifica un numero di serie che identifica il certificato da esaminare. La stringa deve specificare il numero di serie come numero uniforme di cifre esadecimali. Se necessario, un valore zero può essere preceduto dal numero per produrre un numero pari di cifre. Non è possibile usare più di uno zero iniziale.
[out, retval] pDisposition
Puntatore a un valore LONG che riceve il valore di eliminazione.
Valore restituito
C++
Se il metodo ha esito positivo e il parametro pDisposition è impostato su uno dei valori seguenti, il metodo restituisce S_OK.Se il metodo ha esito negativo, restituisce un valore HRESULT che indica l'errore. Per un elenco di codici di errore comuni, vedere Valori HRESULT comuni.
VB
Il valore restituito specifica l'eliminazione del certificato. Questo valore è uno dei valori seguenti. Questi valori sono definiti in Certadm.h.)Codice restituito | Descrizione |
---|---|
|
La chiamata non è stata completata. |
|
La chiamata non è riuscita. |
|
Il certificato è stato revocato. |
|
Il certificato è ancora valido. |
|
Il certificato non è mai stato rilasciato. |
|
Il certificato è in sospeso. |
Commenti
Questo metodo determina solo se è stato rilasciato un certificato e non è attualmente revocato; non verifica che l'ora e la data correnti siano entro il periodo per cui il certificato è valido (le proprietà del certificato NotBefore e NotAfter). Un'applicazione che usa questo metodo è responsabile anche del controllo della scadenza del certificato.
Le attività di amministrazione usano DCOM. Il codice che chiama questo metodo di interfaccia come definito in una versione precedente di Certadm.h verrà eseguito nei server basati su Windows purché il client e il server eseguano entrambi lo stesso sistema operativo Windows.
Esempio
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);
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Nessuno supportato |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | certadm.h (include Certsrv.h) |
Libreria | Certidl.lib |
DLL | Certadm.dll |