2009-08-17 11 views
1

Ich versuche, eine Datei mit einer Client-Anwendung mit BITS (Microsoft Intelligent Background Transfer Service) über HTTPS hochzuladen. Der Entwicklungsserver, den ich auf/testing hochlade, hat kein ordnungsgemäß signiertes Zertifikat für SSL (es ist selbstsigniert). Dies bedeutet, dass die Übertragung immer fehlschlägt, da BITS erkennt, dass das Zertifikat selbstsigniert ist und die Ausführung des Auftrags verweigert.Ignoriere Zertifizierungsstelle (selbstsigniert) mit BITS

Gibt es eine Möglichkeit programmgesteuert zu sagen, dass BITS die Zertifizierungsstelle ignoriert und den Upload abgeschlossen hat? Ich weiß, dass es Möglichkeiten gibt, dies mit der HttpWebRequest-Klasse in C# zu tun, aber ich weiß nicht, wie man das mit BITS speziell macht.

Danke!

Antwort

1

denke ich BITS eine Ausnahme wirft nicht, weil es das CERT als selbstsignierten erkennt sondern vielmehr, dass sie erkennt, dass das Zertifikat nicht von dem Client-PC vertrauenswürdig ist. Sie könnten versuchen, das Zertifikat im Trusted Store auf Ihrem Client zu installieren - ich glaube, BITS wird dann über HTTPS funktionieren.

1

Verwenden/SETSECURITYFLAGS.

Quelle: http://www.howtogeek.com/wiki/Bitsadmin

+1

Das habe ich vorher gesehen, aber ich benutze BITSAdmin nicht - gibt es irgendeinen Weg, das programmatisch zu machen? Das ist, was ich habe Probleme herauszufinden, wie man macht :) – DashRantic

1

Das hat mir ziemlich lange in die Quere gemacht. Ich habe schließlich herausgefunden, dass Sie die Zahl in dezimaler Form eingeben müssen. (Nicht wie zeigt es in technet als 0x0001)

C:> BITSAdmin/SetSecurityFlags myDownloadJob 8

Die 8 wird das "Ignorieren ungültig Zertifizierungsstelle in Serverzertifikat: true" machen

30 werden alle machen der Ignoranten wahr.