Funzione CryptGetTimeValidObject (wincrypt.h)
La funzione CryptGetTimeValidObject recupera una risposta CRL, una risposta OCSP o un oggetto CTL valido entro un determinato contesto e tempo.
Sintassi
BOOL CryptGetTimeValidObject(
[in] LPCSTR pszTimeValidOid,
[in] LPVOID pvPara,
[in] PCCERT_CONTEXT pIssuer,
[in, optional] LPFILETIME pftValidFor,
[in] DWORD dwFlags,
[in] DWORD dwTimeout,
[out, optional] LPVOID *ppvObject,
[in, optional] PCRYPT_CREDENTIALS pCredentials,
[in, out, optional] PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO pExtraInfo
);
Parametri
[in] pszTimeValidOid
Puntatore a un identificatore di oggetto (OID) che identifica l'oggetto richiesto. Se il parametro HIWORD del parametro pszTimeValidOid è zero, LOWORD specifica l'identificatore intero per il tipo della struttura specificata.
Questo parametro può avere uno dei valori seguenti. Per informazioni su come questi valori influiscono sul parametro pvPara, vedere l'intestazione "Per il parametro pvPara" nella colonna Significato.
Valore | Significato |
---|---|
|
Fornisce un elenco di attendibilità certificato (CTL) basato su un URL ottenuto dalla proprietà NextUpdateLocation o dall'estensione del contesto CTL corrente.
Per il parametro pvPara: puntatore a un PCCTL_CONTEXT che rappresenta l'elenco di attendibilità del certificato corrente. |
|
Questo valore è riservato per l'uso futuro. |
|
Fornisce una CRL basata sulle informazioni ottenute dall'estensione dei punti di distribuzione CRL del contesto di certificato corrente.
Per il parametro pvPara: puntatore a un PCCERT_CONTEXT che rappresenta il certificato soggetto. |
|
Fornisce un CRL delta basato su informazioni ottenute dall'estensione CRL più recente del contesto del certificato corrente.
Per il parametro pvPara: puntatore a un PCCERT_CONTEXT che rappresenta il certificato soggetto. |
|
Fornisce una CRL delta basata su informazioni ottenute dall'estensione CRL più recente del contesto CRL corrente.
Per il parametro pvPara: puntatore a un PCCERT_CRL_CONTEXT_PAIR che rappresenta il certificato soggetto e la relativa CRL di base. |
[in] pvPara
Struttura determinata dal valore di pszTimeValidOid. Per informazioni dettagliate, vedere la descrizione del parametro pszTimeValidOid .
[in] pIssuer
Puntatore a un CERT_CONTEXT contenente il certificato dell'autorità emittente.
[in, optional] pftValidFor
Puntatore a una versione facoltativa della struttura FILETIME dell'ora di sistema corrente o un tempo di aggiornamento dal contesto corrente.
[in] dwFlags
Valore che determina vari fattori di recupero, ad esempio timeout, origine e validità.
Nella tabella seguente sono elencati i valori possibili per il parametro dwFlags .
Valore | Significato |
---|---|
|
Usare l'impostazione del Registro di sistema di timeout cumulativo del computer client per il recupero degli URL di revoca. |
|
Recuperare solo i bit codificati dalla cache degli URL client. Non usare il filo per recuperare l'URL. |
|
Verificare se la proprietà ThisUpdate o l'estensione del contesto corrente è maggiore o uguale al parametro ftValidFor . |
|
Non eseguire il controllo di validità del tempo. Usare questa operazione per recuperare una CRL di base più recente sul cavo o per ignorare il controllo della validità del tempo durante il recupero della cache. Quando questo flag è impostato, pftValidFor può essere NULL. |
|
Non eseguire la verifica della firma. Utilizzare questa opzione quando la verifica dell'oggetto recuperato verrà eseguita all'esterno di questa funzione o per forzare una sostituzione di una voce della cache recuperata con una nuova voce della cache per l'oggetto. |
|
Questo valore è riservato per l'uso futuro. |
|
Recupera l'ora valida dell'oggetto da un servizio di risposta OCSP solo in base agli URL di accesso alle informazioni dell'autorità nel contesto corrente. La funzione CertVerifyRevocation imposta questo flag quando viene chiamato con il parametro dwFlags impostato su CERT_VERIFY_REV_SERVER_OCSP_FLAG. |
|
Recupera i bit codificati solo dal filo. Non usa la cache DEGLI URL. |
[in] dwTimeout
Valore, in millisecondi, che specifica quando terminare un tentativo di recupero URL che non ha restituito un risultato.
[out, optional] ppvObject
Puntatore a un indirizzo per l'oggetto restituito. Il tipo restituito può essere uno dei tipi supportati visualizzati nel parametro pszObjectOid della funzione CryptRetrieveObjectByUrl .
[in, optional] pCredentials
Puntatore a una struttura di CRYPT_CREDENTIALS facoltativa usata per accedere all'URL. L'unico tipo di credenziali attualmente supportato è nome utente e credenziali password.
[in, out, optional] pExtraInfo
Puntatore a una struttura di CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO facoltativa che contiene informazioni aggiuntive sulla voce della cache per un oggetto.
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce TRUE.
Se la funzione ha esito negativo, restituisce FALSE. Per informazioni sull'errore estese, chiamare GetLastError.
Alcuni codici di errore possibili seguono.
Codice restituito | Descrizione |
---|---|
|
Il chiamante specificato TIME_VALID_OID_GET_CRL per il parametro pszTimeValidOid . Questo OID non è supportato. |
|
Il chiamante imposta il flag CRYPT_OCSP_ONLY_RETRIEVAL e il contesto include un URL non OCSP. |
|
La funzione non è riuscita a recuperare un CRL da un contesto di certificato o recuperare un CTL e non è riuscito a copiare gli URL da una voce della cache. |
|
Impossibile allocare memoria per un'operazione di matrice interna. |
|
Il chiamante non ha impostato il flag di CRYPT_CACHE_ONLY_RETRIEVAL e non è connesso a Internet. |
Commenti
La libreria di collegamento dinamica di Cryptnet implementa una cache dell'oggetto valida per l'ora (TVO) usata per supportare la funzione CryptGetTimeValidObject . La cache viene usata da un agente TVO globale del processo in cui ogni voce della cache è costituita dalle informazioni seguenti.
- Identificatore di origine
- OID di contesto
- Contesto
- URL di recupero
- Data di scadenza
- Informazioni sull'ora dell'URL offline
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wincrypt.h |
Libreria | Cryptnet.lib |
DLL | Cryptnet.dll |