Condividi tramite


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
RequestID
Segno lungo
ID richiesta interna
NotBefore
Data/ora
Data di validità del certificato
NotAfter
Data/ora
Data di scadenza del certificato
RawPublicKey
Binary
Chiave soggetto
PublicKeyAlgorithm
string
ID oggetto dell'algoritmo chiave soggetto (OID)
RawPublicKeyAlgorithmParameters
Binary
Parametri dell'algoritmo chiave soggetto
GeneralFlags
PROPTYPE_LONG
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.

RequesterNameFromOldCertificate
PROPTYPE_STRING
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
CAType
long
Tipo di autorità di certificazione. Questo può essere uno dei valori seguenti (definiti in Certsrv.h):
  • ENUM_ENTERPRISE_ROOTCA
  • ENUM_ENTERPRISE_SUBCA
  • ENUM_STANDALONE_ROOTCA
  • ENUM_STANDALONE_SUBCA
CertCount
long
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.
CertState
long
Stato del certificato CA. I valori possibili sono i seguenti:
  • CA_DISP_ERROR: il certificato CA non è mai stato rilasciato.
  • CA_DISP_REVOKED: il certificato CA è stato revocato.
  • CA_DISP_VALID: il certificato CA è ancora valido.
  • CA_DISP_INVALID: il certificato CA è scaduto.
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.
CertSuffix
string
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.

CRLIndex
long
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.

CRLState
long
Stato CRL. I valori possibili sono i seguenti:
  • CA_DISP_ERROR: la CRL viene gestita da un altro certificato CA.
  • CA_DISP_REVOKED: sono stati revocati tutti i certificati CA non scaduti che usano la CRL del certificato CA.
  • CA_DISP_VALID: il certificato DELLA CA viene ancora usato per pubblicare i certificati crls in base alle esigenze.
  • CA_DISP_INVALID: tutti i certificati CA che usano la CRL del certificato CA sono scaduti.
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 dell'autorità di certificazione.
CRLSuffix
string
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.

fUseDS
long
Indica se la CA usa un servizio directory. Può trattarsi di uno dei valori seguenti:
  • 0=no
  • 1=sì
MachineDNSName
string
Nome DNS del server che ospita la CA.
ModuleRegistryLocation
string
Percorso del Registro di sistema disponibile per l'uso dal modulo.
RawCACertificate
Binary
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.

RawCRL
Binary
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.

RequesterCAAccess
long
Indica se il richiedente è autorizzato a richiedere il certificato. Può trattarsi di uno dei valori seguenti:
  • 0=no
  • 1=sì
Lo snap-in MMC dell'autorità di certificazione può essere usato per controllare le autorizzazioni di richiesta di certificato .
SanitizedCAName
string
Nome sanificato per la CA. Per informazioni sui nomi ca sanificati, vedere ICertConfig::GetConfig.
SanitizedShortName
string
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
PROPTYPE_LONG
Dati lunghi firmati
PROPTYPE_DATE
Data/ora
PROPTYPE_BINARY
Dati binari
PROPTYPE_STRING
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

Vedi anche

ICertServerPolicy

ICertServerPolicy::SetContext

Proprietà nome