WIF-ID1014: Die Signatur ist nicht gültig. Die Daten wurden möglicherweise manipuliert

8

Ich habe WIF verwendet, um unsere neue Website zu authentifizieren, der STS basiert auf der Implementierung von starter-st.

Damit dies in out-load-balanced-Umgebungen korrekt funktioniert, habe ich Folgendes in der Datei global.asax verwendet, um das standardmäßige Zertifikatverhalten zu überschreiben.

%Vor%

Das funktioniert alles nur, und die Leute haben das System erfolgreich benutzt, aber hin und wieder bekommen wir eine Menge:

ID1014: Die Signatur ist nicht gültig. Die Daten wurden möglicherweise manipuliert.

in den Ereignisprotokollen, so habe ich WIF-Ablaufverfolgung eingeschaltet und sah die folgenden im Protokoll erwähnt.

ID1074: Beim Versuch, das Cookie mithilfe der ProtectedData-API zu verschlüsseln, ist eine CryptographicException aufgetreten (Details siehe innere Ausnahme). Wenn Sie IIS 7.5 verwenden, kann dies daran liegen, dass die Einstellung loadUserProfile im Anwendungspool auf false gesetzt ist.

Ich habe das Gefühl, dass dies mich in eine dunkle Gasse führt, wie ich dachte, weil ich die Implementierung geändert hatte, um RSA zu verwenden, was mich nicht beeinflussen sollte.

Irgendwelche Ideen, um mir zu helfen?

    
RubbleFord 28.05.2012, 07:13
quelle

4 Antworten

2

Ich habe die Implementierung geändert, um das Timeout in der ontkencreated-Methode zu ändern. Dies verhindert die Neuausgabe.

%Vor%     
RubbleFord 07.06.2012, 20:55
quelle
3

Die Browser-Cookies sind mit "alten" Mechanismen verschlüsselt - DPAPI. Wenn der Server versucht, die Cookies zu entschlüsseln, schlägt das daher fehl - Ihr Code verwendet jetzt RSA, nicht DPAPI.

Um dieses Problem zu umgehen, löschen Sie den Browser-Cache und die Anwendung wird wie erwartet ausgeführt.

    
ZENIT 28.05.2012 20:49
quelle
0

Haben Sie versucht, die loadUserProfile-Option auf true zu setzen? Tritt das Problem immer noch auf?

(Wählen Sie den Anwendungspool in IIS und klicken Sie rechts auf "Erweiterte Einstellungen". "Benutzerprofil laden" befindet sich im Abschnitt "Prozessmodell".)

    
nzpcmad 28.05.2012 19:16
quelle
0

Das zeitweilige Auftreten Ihres Fehlers in Kombination mit der DPAPI-Ausnahme, die in Ihren Traces angezeigt wird, deutet darauf hin, dass Sie die Cookie-Transformation nicht überschreiben und Ihr Dienst DPAPI weiterhin verwendet.

Das könnte eine lange Geschichte sein, aber in Ihrem Code-Ausschnitt habe ich festgestellt, dass Ihr Methoden-Override "onServiceConfigurationCreated" mit einem Kleinbuchstaben o beginnt. Ein solcher Tippfehler würde in der Tat verhindern, dass Sie das Standard-WIF-Verhalten ordnungsgemäß überschreiben.

    
Andrew Lavers 01.06.2012 20:07
quelle