CryptGetTimeValidObject, fonction (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 paramètre HIWORD du paramètre pszTimeValidOid est égal à zéro, la LOWORD spécifie l’identificateur entier pour le type de la structure spécifiée.
Ce paramètre peut être l’une des 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 Signification.
Valeur | Signification |
---|---|
|
Fournit une liste d’approbation de certificat (CTL) basée sur une URL obtenue à partir de la propriété NextUpdateLocation ou de l’extension du contexte de durée de vie actuel.
Pour le paramètre pvPara : pointeur vers un PCCTL_CONTEXT qui représente la liste d’approbations de certificat actuelle. |
|
Cette valeur est réservée pour 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 FILETIME la version de structure de l’heure système actuelle ou une heure de fraîcheur à 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 de 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 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 vérification de validité du temps. Utilisez-la pour récupérer une liste de révocation de certificats de base plus récente sur le réseau ou pour contourner la vérification de la validité du temps lors d’une récupération du cache. Lorsque cet indicateur est défini, pftValidFor peut être 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 pour une utilisation ultérieure. |
|
Récupère l’objet 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’elle est appelée avec le paramètre dwFlags défini sur CERT_VERIFY_REV_SERVER_OCSP_FLAG. |
|
Récupère les bits encodés à partir du fil 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 de 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 est le nom d’utilisateur et les informations d’identification 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 de retour
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.
Retourner le code | Description |
---|---|
|
L’appelant a 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 récupérer une durée de vie, et elle n’a pas pu copier les URL 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 de CRYPT_CACHE_ONLY_RETRIEVAL et n’est pas connecté à Internet. |
Remarques
La bibliothèque de liens dynamiques Cryptnet implémente un cache d’objet valide de temps (TVO) 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
- Contexte
- URL de récupération
- Heure d’expiration
- Informations sur l’heure de l’URL hors connexion
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Vista [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2008 [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | wincrypt.h |
bibliothèque | Cryptnet.lib |
DLL | Cryptnet.dll |