Ne peut pas utiliser le protocole HTTPS avec l'objet ServerXMLHTTP

Je suis en soutenant un Classique ASP application qui se connecte à une passerelle de paiement via le protocole HTTPS. Jusqu'à récemment, il n'y a eu aucun problèmes. Il y A quelques jours les dernières mises à jour ont été installées sur le serveur (Windows Server 2003) et a provoqué le site de pause. Un extrait de code ci-dessous.

Dim oHttp
Dim strResult
Set oHttp = CreateObject("MSXML2.ServerXMLHTTP")
oHttp.setOption(2) = 13056
oHttp.open "POST", SOAP_ENDPOINT, false
oHttp.setRequestHeader "Content-Type", "application/soap+xml; charset=utf-8"
oHttp.setRequestHeader "SOAPAction", SOAP_NS + "/" & SOAP_FUNCTION
oHttp.send SOAP_REQUEST

Ci-dessous est un dump de l'erreur de l'objet :-

Nombre: -2147012852
Description: Un certificat est requis pour valider l'authentification du client
Message: Un certificat est requis pour valider l'authentification du client

Au début, je pensais que c'était parce que la Passerelle de Paiement du certificat SSL n'est pas en cours d'authentification, ou ils ont besoin d'un certificat client. J'ai testé l'URL dans un navigateur sur le serveur et qu'il s'affiche correctement sans erreur et a confirmé que la Passerelle de Paiement de serveur n'a pas besoin d'un certificat client.

Je suis à une perte. Toutes les recherches que j'ai fait m'a conduit nulle part. J'ai même essayé le suivant trouvé sur Stackoverflow :-

Obtenir XMLHTTP de travailler avec HTTPS

xmlHttp, demande XML,asp

Le dernier a déclaré que le certificat du client est requise par XMLHTTP même si le serveur n'en a pas besoin, et a évoqué un article de la base sur la façon d'installer un, mais qui est obsolète et ne fonctionne pas.

Je devine que la passerelle SSL cert est maintenant fourni par quelqu'un pas dans votre serveur de l'autorité racine de confiance de la liste et vous avez besoin d'un paramètre comme curl est CURLOPT_SSL_VERIFYPEER. Je reviendrai si je trouve quoi que ce soit.
La réponse à la première question que vous avez indiquée est ce que je cherchais et qui devrait fonctionner pour vous.
Je suis sysadmin qui est un coup de main avec cette. La réponse à la première question ne résout pas le problème, j'ai peur. En fait, cette option est déjà défini dans le code affiché dans la question ci-dessus. Juste pour ajouter à cela, ce qui se passe sur au moins 3 des serveurs distincts, dont aucun n'a vu de toutes les modifications de configuration récemment, en interdisant les mises à jour de Windows qui ont été installés hier/aujourd'hui, après que le problème a commencé à se produire. Les dernières mises à jour avant qui étaient à la fin de novembre.
À l'aide de la plaine HTTP travaillé, ce qui prouve que le code est le son. Quelque chose sur le serveur est en cours d'arrêt XMLHTTP d'accéder à une URL en utilisant le protocole HTTPS.

OriginalL'auteur Imraan | 2012-02-09