Fonction CryptGetTimeValidObject (wincrypt.h)
La fonction CryptGetTimeValidObject récupère une liste de révocation de certificats, une réponse OCSP ou un objet CTL valide dans un contexte et une heure donnés.
Syntaxe
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
);
Paramètres
[in] pszTimeValidOid
Pointeur vers un identificateur d’objet (OID) qui identifie l’objet demandé. Si le HIWORD du paramètre pszTimeValidOid est égal à zéro, loWORD spécifie l’identificateur entier pour le type de la structure spécifiée.
Ce paramètre peut prendre les valeurs suivantes. Pour plus d’informations sur la façon dont ces valeurs affectent le paramètre pvPara, consultez le titre « Pour le paramètre pvPara » dans la colonne Meaning.
Valeur | Signification |
---|---|
|
Fournit une liste de certificats d’approbation (CTL) basée sur une URL obtenue à partir de la propriété Ou de l’extension NextUpdateLocation du contexte CTL actuel.
Pour le paramètre pvPara : pointeur vers un PCCTL_CONTEXT qui représente la liste d’approbation de certificats actuelle. |
|
Cette valeur est réservée à une utilisation ultérieure. |
|
Fournit une liste de révocation de certificats basée sur les informations obtenues à partir de l’extension des points de distribution de liste de révocation de certificats du contexte de certificat actuel.
Pour le paramètre pvPara : pointeur vers un PCCERT_CONTEXT qui représente le certificat d’objet. |
|
Fournit une liste de révocation de certificats delta basée sur les informations obtenues à partir de l’extension de liste de révocation de certificats la plus récente du contexte de certificat actuel.
Pour le paramètre pvPara : pointeur vers un PCCERT_CONTEXT qui représente le certificat d’objet. |
|
Fournit une liste de révocation de certificats delta basée sur les informations obtenues à partir de l’extension de liste de révocation de certificats la plus récente du contexte de liste de révocation de certificats actuel.
Pour le paramètre pvPara : pointeur vers un PCCERT_CRL_CONTEXT_PAIR qui représente le certificat d’objet et sa liste de révocation de certificats de base. |
[in] pvPara
Structure déterminée par la valeur de pszTimeValidOid. Pour plus d’informations, consultez la description du paramètre pszTimeValidOid .
[in] pIssuer
Pointeur vers un CERT_CONTEXT contenant le certificat de l’émetteur.
[in, optional] pftValidFor
Pointeur vers une version facultative de la structure FILETIME de l’heure système actuelle ou une heure d’actualisation à partir du contexte actuel.
[in] dwFlags
Valeur qui détermine différents facteurs de récupération tels que le délai d’attente, la source et les vérifications de validité.
Le tableau suivant répertorie les valeurs possibles pour le paramètre dwFlags .
Valeur | Signification |
---|---|
|
Utilisez le paramètre de Registre du délai d’attente cumulé de l’ordinateur client pour les récupérations d’URL de révocation. |
|
Récupérez les bits encodés à partir du cache d’URL du client uniquement. N’utilisez pas le câble pour récupérer l’URL. |
|
Vérifiez si la propriété ou l’extension ThisUpdate du contexte actuel est supérieure ou égale au paramètre ftValidFor . |
|
N’effectuez pas de case activée de validité temporelle. Utilisez cette option pour récupérer une liste de révocation de certificats de base plus récente sur le réseau ou pour contourner la validité temporelle case activée lors d’une récupération du cache. Lorsque cet indicateur est défini, pftValidFor peut avoir la valeur NULL. |
|
N’effectuez pas de vérification de signature. Utilisez cette option lorsque la vérification de l’objet récupéré est effectuée en dehors de cette fonction ou pour forcer le remplacement d’une entrée de cache récupérée par une nouvelle entrée de cache pour l’objet. |
|
Cette valeur est réservée à une utilisation ultérieure. |
|
Récupère l’objet de temps valide à partir d’un service de répondeur OCSP uniquement en fonction des URL d’accès aux informations d’autorité dans le contexte actuel. La fonction CertVerifyRevocation définit cet indicateur lorsqu’il est appelé avec le paramètre dwFlags défini sur CERT_VERIFY_REV_SERVER_OCSP_FLAG. |
|
Récupère les bits encodés du câble uniquement. N’utilise pas le cache d’URL. |
[in] dwTimeout
Valeur, en millisecondes, qui spécifie quand mettre fin à une tentative de récupération d’URL qui n’a pas retourné de résultat.
[out, optional] ppvObject
Pointeur vers une adresse pour l’objet retourné. Le type de retour peut être l’un des types pris en charge indiqués dans le paramètre pszObjectOid de la fonction CryptRetrieveObjectByUrl .
[in, optional] pCredentials
Pointeur vers une structure CRYPT_CREDENTIALS facultative utilisée pour accéder à l’URL. Le seul type d’informations d’identification actuellement pris en charge sont les informations d’identification de nom d’utilisateur et de mot de passe.
[in, out, optional] pExtraInfo
Pointeur vers une structure CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO facultative qui contient des informations supplémentaires sur l’entrée de cache d’un objet.
Valeur retournée
Si la fonction réussit, la fonction retourne TRUE.
Si la fonction échoue, elle retourne FALSE. Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Certains codes d’erreur possibles suivent.
Code de retour | Description |
---|---|
|
L’appelant spécifié TIME_VALID_OID_GET_CRL pour le paramètre pszTimeValidOid . Cet OID n’est pas pris en charge. |
|
L’appelant définit l’indicateur CRYPT_OCSP_ONLY_RETRIEVAL et le contexte inclut une URL non OCSP. |
|
La fonction n’a pas pu récupérer une liste de révocation de certificats à partir d’un contexte de certificat ou une CTL, et elle n’a pas pu copier les URL à partir d’une entrée de cache. |
|
La fonction n’a pas pu allouer de mémoire pour une opération de tableau interne. |
|
L’appelant n’a pas défini l’indicateur CRYPT_CACHE_ONLY_RETRIEVAL et n’est pas connecté à Internet. |
Remarques
La bibliothèque de liens dynamiques Cryptnet implémente un cache d’objet time valid (TVO) qui est utilisé pour prendre en charge la fonction CryptGetTimeValidObject . Le cache est utilisé par un agent TVO global de processus où chaque entrée de cache se compose des informations suivantes.
- Identificateur d’origine
- OID de contexte
- Context
- URL de récupération
- Heure d’expiration
- Informations sur l’heure de l’URL hors connexion
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wincrypt.h |
Bibliothèque | Cryptnet.lib |
DLL | Cryptnet.dll |