Metodo ICertServerPolicy::GetCertificateProperty (certif.h)
Il metodo GetCertificateProperty restituisce una proprietà denominata da un certificato.
È necessario chiamare ICertServerPolicy::SetContext prima di usare questo metodo.
Sintassi
HRESULT GetCertificateProperty(
[in] const BSTR strPropertyName,
[in] LONG PropertyType,
[out] VARIANT *pvarPropertyValue
);
Parametri
[in] strPropertyName
Specifica la proprietà denominata da recuperare. Esiste un set di scorte di proprietà del certificato, denominato proprietà del nome, che sono sempre valide e possono essere recuperate chiamando questo metodo. Per informazioni su queste proprietà, vedere Proprietà nome. Altre proprietà accanto alle proprietà dei nomi possono essere recuperate.
Le proprietà DistinguishedName e RawName del certificato sono accessibili da ICertServerExit::GetCertificateProperty solo dopo aver completato l'elaborazione della richiesta e il certificato. Le proprietà DistinguishedName e RawName rilasciate possono essere letti anche da un modulo di uscita usando ICertServerExit::GetCertificateProperty.
Sono disponibili proprietà di certificato aggiuntive a cui non è possibile accedere getCertificateProperty. Queste proprietà non vengono impostate fino a quando il modulo criteri restituisce VR_INSTANT_OK e il certificato viene rilasciato. Per un elenco completo di tutte le proprietà in un certificato emesso, vedere GetCertificateProperty.
Le proprietà seguenti sono univoche per i certificati e possono essere letti da GetCertificateProperty.
Proprietà Certificate | Significato |
---|---|
|
ID richiesta interna |
|
Data di validità del certificato |
|
Data di scadenza del certificato |
|
Chiave soggetto |
|
ID oggetto dell'algoritmo chiave soggetto (OID) |
|
Parametri dell'algoritmo chiave soggetto |
|
GeneralFlags nella richiesta di registrazione. Si tratta di un OR bit per bit dei valori. L'unico valore di interesse deve essere il valore flag di 0x00000400, che indica alla CA di non rendere persistente la richiesta nel database. Se la CA è in modalità senza database, ovvero per Windows Server 2008 R2 e versioni successive, il database della CA ha il flag DBFLAGS_ENABLEVOLATILEREQUESTS impostato, usare certutil -getreg DbFlags e certutil -setreg DBFlags configurare la CA in modalità senza database.
Windows Vista e Windows Storage Server 2003: Questo campo non è supportato. |
|
Per le richieste di rinnovo, restituisce il nome dell'account del richiedente, ad esempio contoso\requester. |
Le proprietà seguenti si applicano all'autorità di certificazione.
Ca, proprietà | Significato |
---|---|
|
Tipo di autorità di certificazione. Questo può essere uno dei valori seguenti (definiti in Certsrv.h):
|
|
Numero di certificati CA. Questo valore sarà uno più il numero di volte in cui è stata rinnovata la CA. Per informazioni sul rinnovo, vedere Certificazione. |
|
Stato del certificato CA. I valori possibili sono i seguenti:
|
|
Suffisso per il certificato CA. Il suffisso è una stringa vuota per i certificati CA con un indice pari a zero; in caso contrario, il suffisso (sotto forma di "(nn)", dove nn è l'indice del certificato) viene applicato a tutti gli URL che puntano ai certificati CA archiviati in file o oggetti del servizio directory. Per gli URL non LDAP , il suffisso viene in genere visualizzato prima del testo ".crt". Per gli URL LDAP, il suffisso viene in genere aggiunto al primo 'CN=' nel nome distinto completo.
Questo nome di proprietà può essere aggiunto con '.#', dove # rappresenta un indice di certificato CA (o, nel caso della proprietà CRLSuffix, un indice CRL). Per informazioni sui certificati e sugli indici CRL, vedere Rinnovo autorità di certificazione. |
|
Indice di revoche di certificati (CRL). L'aggiunta di un indice di certificato a questo nome di proprietà consente di recuperare l'indice CRL. L'indice CRL non corrisponde necessariamente all'indice del certificato. Per altre informazioni, vedere Certificazione.
Questo nome di proprietà può essere aggiunto con '.#', dove # rappresenta un indice di certificato CA (o, nel caso della proprietà CRLSuffix, un indice CRL). Per informazioni sui certificati e sugli indici CRL, vedere Rinnovo autorità di certificazione. |
|
Stato CRL. I valori possibili sono i seguenti:
|
|
Suffisso per il CRL ca. Il suffisso è una stringa vuota per i CRL con un indice pari a zero; in caso contrario, il suffisso (sotto forma di "(nn)", dove nn è l'indice CRL) viene applicato a tutti gli URL che puntano ai CRL archiviati in file o oggetti del servizio directory. Per gli URL non LDAP, il suffisso viene in genere visualizzato prima del testo con estensione crl. Per gli URL LDAP, il suffisso viene in genere aggiunto al primo "CN=" nel nome distinto completo.
Questo nome di proprietà può essere aggiunto con '.#', dove # rappresenta un indice certificato CA (o, nel caso della proprietà CRLSuffix, un indice CRL). Per informazioni sui certificati e sugli indici CRL, vedere Rinnovo dell'autorità di certificazione. |
|
Indica se la CA usa un servizio directory. Può trattarsi di uno dei valori seguenti:
|
|
Nome DNS del server che ospita la CA. |
|
Percorso del Registro di sistema disponibile per l'uso dal modulo. |
|
Certificato DELLA CA.
Questo nome di proprietà può essere aggiunto con '.#', dove # rappresenta un indice certificato CA (o, nel caso della proprietà CRLSuffix, un indice CRL). Per informazioni sui certificati e sugli indici CRL, vedere Rinnovo dell'autorità di certificazione. |
|
Elenco di revoche di certificati (CRL) della CA.
Questo nome di proprietà può essere aggiunto con '.#', dove # rappresenta un indice certificato CA (o, nel caso della proprietà CRLSuffix, un indice CRL). Per informazioni sui certificati e sugli indici CRL, vedere Rinnovo dell'autorità di certificazione. |
|
Indica se il richiedente è autorizzato a richiedere il certificato. Può trattarsi di uno dei valori seguenti:
|
|
Nome sanificato per la CA. Per informazioni sui nomi ca sanificati, vedere ICertConfig::GetConfig. |
|
Nome filtrato per l'autorità di certificazione, abbreviato e contenente un valore hash per garantire l'univocità. |
[in] PropertyType
Specifica il tipo di proprietà. Il tipo può essere uno dei valori seguenti.
Type | Significato |
---|---|
|
Dati lunghi firmati |
|
Data/ora |
|
Dati binari |
|
Dati stringa Unicode |
[out] pvarPropertyValue
Puntatore a VARIANT che conterrà il valore della proprietà.
Valore restituito
Se il metodo ha esito positivo, il metodo restituisce S_OK e *pvarPropertyValue è impostato su VARIANT che contiene il valore della proprietà richiesta.
Se il metodo ha esito negativo, restituisce un valore HRESULT che indica l'errore. Per un elenco dei codici di errore comuni, vedere Valori HRESULT comuni.
Requisiti
Client minimo supportato | Nessuno supportato |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | certif.h (include Certsrv.h) |
Libreria | Certidl.lib |
DLL | Certcli.dll |