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.

ImportanteIsValidCertificate non cancella la cache interna quando viene modificata la stringa di configurazione. Quando si modifica la stringa di configurazione per la CA, è necessario creare un'istanza di un nuovo oggetto ICertAdmin e chiamare di nuovo questo metodo con la nuova stringa di configurazione.
 

[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
CA_DISP_INCOMPLETE
La chiamata non è stata completata.
CA_DISP_ERROR
La chiamata non è riuscita.
CA_DISP_REVOKED
Il certificato è stato revocato.
CA_DISP_VALID
Il certificato è ancora valido.
CA_DISP_INVALID
Il certificato non è mai stato rilasciato.
CA_DISP_UNDER_SUBMISSION
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

Vedi anche

CCertAdmin

ICertAdmin

ICertAdmin2

ICertConfig