2009-08-07 11 views
0

Ich verwende ein XMLHTTPRequest-Objekt in meinem C++ - Projekt. Ich habe Dinge gut mit normalen HTTP-Anfragen und https-Anfragen auf Servern mit gültigen Zertifikaten. Wenn ich versuche, eine https: // - Anfrage an einen Server zu stellen, dessen Zertifikat einen IE erzeugen würde "Es gibt ein Problem mit dem Sicherheitszertifikat dieser Website." Fehler, wenn ich versucht habe, dort mit IE zu suchen, schlägt die Anfrage fehl.XMLHttpRequest und Zertifikatfehler

Das Ergebnis, das ich von der Anfrage zurückbekomme, ist ein 12019-Fehler. Gibt es eine Möglichkeit, die Anfrage zu ignorieren und den Fehler zu beheben, als ob ein Benutzer auf den Link "Weiter zu dieser Website" geklickt hätte.

Sie werden vorschlagen, ich repariere, was auch immer falsch mit dem Zertifikat ist. Im Moment habe ich keine Kontrolle über dieses Zertifikat, also suche ich nach einer Antwort (falls es eine gibt), die keine Korrektur des Zertifikats beinhaltet.

Danke.

+0

Das ServerXMLHTTP Objekt eine setOption hat (SXH_OPTION_SELECT_CLIENT_SSL_CERT, 13056) Funktion, die ich sehe, kann ich die Fehler erfolgreich ignorieren. Unglücklicherweise scheint die serverspezifische Natur dieses Objekts Funktionalität zu töten, die ich von XMLHttpRequest benötige. Die von einem früheren ServerXMLHTTP erstellten Cookies können nicht abgerufen werden. Das ist wichtig für das, was ich tun muss. –

Antwort

0

nur Fehler mit Ajax Antwortstatus = 12019 wenn IE6 und ich fand, dass Anfrage URL enthält doppelten Schrägstrich! http://site//get/param1/param2 [zensiert] ...... :)

so, wenn jemand noch gleiche Problem haben - versuchen ti Check URL für doppelte Schrägstriche

12019 - es ist sehr seltsam ... aber sehr "von Microsoft"

1

Es gibt einen Weg, aber nicht mit XMLHTTPRequest. Wenn WinHTTP verwenden, können Sie verwenden:

DWORD dwOptions = 
    SECURITY_FLAG_IGNORE_CERT_CN_INVALID 
    | SECURITY_FLAG_IGNORE_CERT_DATE_INVALID 
    | SECURITY_FLAG_IGNORE_UNKNOWN_CA 
    | SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE; 

bResults = WinHttpSetOption(hRequest, 
    WINHTTP_OPTION_SECURITY_FLAGS, 
    &dwOptions, 
    sizeof(dwOptions));