Metodo ICertAdmin2::GetCAProperty (certadm.h)
Il metodo GetCAProperty recupera un valore della proprietà per l'autorità di certificazione (CA). Questo metodo è stato definito per la prima volta nell'interfaccia ICertAdmin .
Sintassi
HRESULT GetCAProperty(
[in] const BSTR strConfig,
[in] LONG PropId,
[in] LONG PropIndex,
[in] LONG PropType,
[in] LONG Flags,
[out] VARIANT *pvarPropertyValue
);
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 della CA, come immesso durante l'installazione di Servizi certificati. Per informazioni sul nome della stringa di configurazione, vedere ICertConfig.
[in] PropId
Specifica uno degli identificatori di proprietà seguenti.
Valore | Significato |
---|---|
|
Tipo di dati della proprietà: Long Specifica se l'autorità di certificazione esegue Advanced Server. |
|
Tipo di dati della proprietà: Binario, indicizzato Elenco di revoche di certificati (CRL) completo o di base. |
|
Tipo di dati della proprietà: Long, indicizzato Stato di pubblicazione CRL di base. Per informazioni dettagliate, vedere Osservazioni. |
|
Tipo di dati della proprietà: Binario, indicizzato Certificato incrociato all'indietro. Un certificato incrociato con versioni precedenti è il certificato emesso al rinnovo dalla CA a se stesso firmato con la nuova chiave della CA. Il certificato incrociato con le versioni precedenti ha l'identificatore della chiave dell'autorità del nuovo certificato DELLA CA e l'identificatore della chiave del soggetto del certificato CA precedente. Si applica solo alle CA radice. |
|
Tipo di dati della proprietà: Long, indicizzato Indica se il certificato incrociato all'indietro è valido. Valido solo per le ca radice. |
|
Tipo di dati della proprietà: Long Stato del certificato DELLA CA. I valori possibili sono i seguenti.
|
|
Tipo di dati della proprietà: Long, indicizzato Stato del certificato DELLA CA, come HRESULT. |
|
Tipo di dati della proprietà: Long, indicizzato Versione del certificato DELLA CA, come DWORD. La parola di ordine elevato è l'indice chiave e la parola di ordine basso è l'indice del certificato CA. |
|
Tipo di dati della proprietà: Binario, indicizzato Certificato incrociato di inoltro. Un certificato incrociato inoltrato è un certificato emesso al rinnovo dalla CA a se stesso firmato con la chiave precedente della CA. Il certificato incrociato di inoltro ha l'identificatore della chiave dell'autorità del certificato CA precedente e l'identificatore della chiave del nuovo certificato della CA. Si applica solo alle CA radice. |
|
Tipo di dati della proprietà: Long, indicizzato Indica se il certificato incrociato di inoltro è valido. Valido solo per le ca radice. |
|
Tipo di dati della proprietà: String Nome della CA. |
|
Tipo di dati della proprietà: Binario, indicizzato Certificato di firma della CA. |
|
Tipo di dati della proprietà: Binario, indicizzato Catena di certificati di firma DELLA CA. |
|
Tipo di dati della proprietà: Long Numero di certificati di firma per la CA. |
|
Tipo di dati della proprietà: Binario, indicizzato Catena CRL del certificato di firma della CA. |
|
Tipo di dati della proprietà: Long Tipo di CA. Può trattarsi di uno dei valori seguenti (definiti in Certsrv.h):
|
|
Tipo di dati della proprietà: Binario, indicizzato Certificato di scambio CA. |
|
Tipo di dati della proprietà: Binario, indicizzato Catena di certificati di scambio CA. |
|
Tipo di dati della proprietà: Long Numero di certificati di scambio per la CA. |
|
Tipo di dati della proprietà: Binario, indicizzato Catena CRL del certificato di scambio della CA. |
|
Tipo di dati della proprietà: String, indicizzato Specifica gli URL di accesso alle informazioni dell'autorità come tipo di URL richiesto da un client. Windows Server 2003: Questo flag non è supportato. |
|
Tipo di dati della proprietà: String, indicizzato Specifica gli URL del punto di distribuzione CRL come tipo di URL richiesto da un client. Windows Server 2003: Questo flag non è supportato. |
|
Tipo di dati della proprietà: Long Stato del CRL della CA. I valori possibili sono i seguenti.
|
|
Tipo di dati della proprietà: Binario, indicizzato CRL delta della CA. |
|
Tipo di dati della proprietà: Long, indicizzato Stato di pubblicazione CRL delta. Per informazioni dettagliate, vedere Osservazioni. |
|
Tipo di dati della proprietà: String Nome DNS della CA. |
|
Tipo di dati della proprietà: Long Numero di moduli di uscita in uso dalla CA. |
|
Tipo di dati della proprietà: String Descrizione per il modulo di uscita. |
|
Tipo di dati della proprietà: String Versione del file di Servizi certificati. |
|
Tipo di dati della proprietà: Binario, indicizzato Certificato dell'agente di ripristino delle chiavi (KRA) della CA. |
|
Tipo di dati della proprietà: Long Numero di certificati KRA per la CA. |
|
Tipo di dati della proprietà: Long, indicizzato Stato del certificato KRA. Il valore restituito è uno dei seguenti:
|
|
Tipo di dati della proprietà: Long Numero di certificati KRA usati dalla CA. |
|
Tipo di dati della proprietà: String Nome della CA padre della CA. |
|
Tipo di dati della proprietà: String Descrizione del modulo criteri. |
|
Tipo di dati della proprietà: String Versione del prodotto in cui è stato inviato il file. |
|
Tipo di dati della proprietà: Long Valore che specifica se la separazione dei ruoli è abilitata. |
|
Tipo di dati della proprietà: String Nome sanificato della CA. Per una definizione di un nome CA sanificato, vedere ICertConfig2::GetConfig. |
|
Tipo di dati della proprietà: String Nome breve di sanificazione della CA. Per una definizione di un nome breve della CA sanificata, vedere ICertConfig2::GetConfig. |
|
Tipo di dati della proprietà: String Nome della directory della cartella condivisa. |
|
Tipo di dati della proprietà: String Elenco di modelli supportati dalla CA. |
[in] PropIndex
Se il parametro PropId viene indicizzato, l'indice in base zero da usare durante il recupero del valore della proprietà. Se PropId non è indicizzato, questo valore viene ignorato.
[in] PropType
Specifica il tipo della proprietà, indicato nella colonna Significato della tabella PropId . Il tipo può essere uno dei tipi seguenti.
Valore | Significato |
---|---|
|
Dati lunghi firmati |
|
Data/ora (riservata per l'uso futuro) |
|
Dati binari |
|
Dati stringa Unicode |
[in] Flags
È possibile usare i flag seguenti per specificare il formato del valore della proprietà restituita; questi flag hanno significato solo per i dati binari (ad esempio certificati, catene di certificati o elenchi di revoche di certificati) e vengono ignorati in caso contrario.
[out] pvarPropertyValue
Puntatore a un buffer che riceve il valore della proprietà richiesto. È responsabilità del chiamante liberare questa risorsa quando viene eseguita chiamando VariantClear.
Valore restituito
C++
Il valore restituito è un HRESULT. Un valore di S_OK indica che il metodo ha avuto esito positivo.VB
Valore della proprietà richiesto.Commenti
I valori seguenti vengono restituiti quando l'identificatore della proprietà è CR_PROP_BASECRLPUBLISHSTATUS o CR_PROP_DELTACRLPUBLISHSTATUS. Questi valori possono essere combinati.
Valore | Descrizione |
---|---|
CPF_BADURL_ERROR | Un URL non è valido. |
CPF_BASE | È stata pubblicata una CRL di base. |
CPF_CASTORE_ERROR | Un errore dell'archivio CA ha impedito la pubblicazione. |
CPF_COMPLETE | È stata pubblicata una CRL completa. |
CPF_DELTA | È stata pubblicata una CRL delta. |
CPF_FILE_ERROR | Un errore di file ha impedito la pubblicazione. |
CPF_FTP_ERROR | Un errore FTP ha impedito la pubblicazione. |
CPF_HTTP_ERROR | Un errore HTTP ha impedito la pubblicazione. |
CPF_LDAP_ERROR | Un errore LDAP ha impedito la pubblicazione. |
CPF_MANUAL | Una classe CRL è stata pubblicata manualmente. |
CPF_SHADOW | È stato pubblicato un CRL differenziale vuoto, insieme a un nuovo CRL BASE. |
CPF_SIGNATURE_ERROR | Errore di firma impedito alla pubblicazione. |
Per un esempio di recupero di una CRL, vedere Recupero di un elenco di revoche di certificati.
Esempio
Nell'esempio seguente viene illustrato il recupero del certificato di firma della CA. L'esempio presuppone che il puntatore dell'interfaccia ICertAdmin2 sia valido.
BSTR bstrCA = NULL;
VARIANT var1;
HRESULT hr;
bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
if (NULL == bstrCA)
{
printf("Failed to allocate memory for bstrCA\n");
exit(1);
}
VariantInit(&var1);
// Retrieve the CA signature certificate at index 0.
hr = pAdmin2->GetCAProperty(bstrCA,
CR_PROP_CASIGCERT,
0,
PROPTYPE_BINARY,
CV_OUT_BASE64HEADER,
&var1);
if (FAILED(hr))
{
printf("Failed GetCAProperty\n");
SysFreeString(bstrCA);
exit(1); // Or other error action.
}
// Use the property as needed.
// ...
// Clear the variant when finished.
VariantClear(&var1);
SysFreeString(bstrCA);
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 |