WIF-ID1014: Podpis jest nieprawidłowy. Dane mogły zostać naruszone

Używam WIF do uwierzytelniania naszej nowej strony internetowej, STS opiera się na implementacji początkowej.

Aby to działało poprawnie w środowisku z równoważeniem obciążenia, użyłem poniższego w global.asax, aby zastąpić domyślne zachowanie certyfikatu.

void onServiceConfigurationCreated(object sender, ServiceConfigurationCreatedEventArgs e)
        {
            List<CookieTransform> sessionTransforms = new List<CookieTransform>(new CookieTransform[] 
            { 
                new DeflateCookieTransform(), 
                new RsaEncryptionCookieTransform(e.ServiceConfiguration.ServiceCertificate),
                new RsaSignatureCookieTransform(e.ServiceConfiguration.ServiceCertificate)
            });

            SessionSecurityTokenHandler sessionHandler = new SessionSecurityTokenHandler(sessionTransforms.AsReadOnly());
            e.ServiceConfiguration.SecurityTokenHandlers.AddOrReplace(sessionHandler);
        }

To wszystko działa po prostu znajdź i ludzie z powodzeniem korzystają z systemu, jednak co jakiś czas dostajemy podmuch:

ID1014: Podpis jest nieprawidłowy. Dane mogły zostać naruszone.

w dziennikach zdarzeń, więc włączyłem śledzenie WIF i zobaczyłem następujące informacje w dzienniku.

ID1074: Wystąpił wyjątek CryptographicException podczas próby zaszyfrowania pliku cookie przy użyciu interfejsu API ProtectedData (szczegółowe informacje zawiera wyjątek wewnętrzny). Jeśli korzystasz z IIS 7.5, może to być spowodowane ustawieniem loadUserProfile w puli aplikacji na false.

Mam przeczucie, że to prowadzi mnie w ciemną uliczkę, jak myślałem, ponieważ zmieniłem implementację, aby używać RSA, nie powinno to mieć na mnie wpływu.

Masz jakieś pomysły, aby mi pomóc?

questionAnswers(4)

yourAnswerToTheQuestion