Nouveautés de Windows Server 2008 et Windows Vista

À compter de Windows Server 2008 et Windows Vista, l’API WinHTTP a été améliorée pour inclure les fonctionnalités suivantes.

Chargement supérieur à 4 Go.

WinHttpSendRequest ne peut envoyer que 4 Go de données en raison des limitations de taille du paramètre de longueur totale DWORD. Pour permettre aux applications d’envoyer plus de 4 Go de données, l’en-tête Content-Length est ajouté à la requête en spécifiant des données aussi volumineuses qu’une LARGE_INTEGER (2^64 octets). Pour plus d’informations, consultez WinHttpSendRequest. Cette fonctionnalité n’est pas prise en charge sur l’objet COM IWinHttpRequest .

en-tête Transfer-Encoding

L’en-tête Transfer-Encoding permet aux applications d’envoyer des données segmentées au serveur. Lorsque l’en-tête Transfer-Encoding est présent sur la demande, l’application envoie la requête avec un corps d’entité de longueur nulle dans l’appel à WinHttpSendRequest. Le corps de l’entité est envoyé dans les appels suivants à WinHttpWriteData. Cette fonctionnalité n’est pas prise en charge sur l’objet COM IWinHttpRequest .

Récupération de la liste des émetteurs de certificats clients SSL

L’application peut récupérer la liste des émetteurs de certificat client SSL en cas d’échec de WinHttpSendRequest avec un ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED. Une nouvelle option, WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST, permet aux applications de récupérer la liste des émetteurs de certificats et de filtrer la liste pour le certificat optimal. Pour plus d’informations, consultez les rubriques Indicateurs d’option et Récupération de liste d’émetteurs pour l’authentification client SSL . Cette fonctionnalité n’est pas prise en charge sur l’objet COM IWinHttpRequest .

Certificats clients facultatifs

Lorsque WinHttpSendRequest échoue avec un ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED, le serveur peut ne pas nécessiter le certificat client SSL. Le serveur peut être en mesure de revenir à une autre forme d’authentification ou d’autoriser le client à procéder à l’accès anonyme. L’application définit l’option WINHTTP_OPTION_CLIENT_CERT_CONTEXT et spécifie une macro que WinHttp utilise pour déterminer si le certificat client est requis. Pour plus d’informations, consultez Indicateurs d’option. Cette fonctionnalité n’est pas prise en charge sur l’objet COM IWinHttpRequest .

Adresses IP sources et de destination

Une fois WinHttpReceiveResponse terminé, l’application peut récupérer l’adresse IP source et de destination et le port de la requête qui a généré la réponse. Une nouvelle structure est fournie pour recevoir les adresses source et de destination lorsque l’option WINHTTP_OPTION_CONNECTION_INFO est définie. Pour plus d’informations, consultez Indicateurs d’option. Cette fonctionnalité n’est pas prise en charge sur l’objet COM IWinHttpRequest .

Erreurs d’authentification client SSL supplémentaires

D’autres erreurs d’authentification du client SSL fournissent plus d’informations sur le certificat client SSL. ERROR_WINHTTP_CLIENT_CERT_NO_PRIVATE_KEY et ERROR_WINHTTP_CERT_NO_ACCESS_PRIVATE_KEY erreurs de certificat client sont nouvelles pour Windows Server 2008 et Windows Vista. L’objet COM IWinHttpRequest retourne ces erreurs dans un HRESULT.