WIF-ID1014: подпись недействительна. Данные могут быть подделаны

Я использовал WIF для аутентификации нашего нового веб-сайта, STS основан на первоначальной реализации.

Чтобы это работало правильно в среде с балансировкой нагрузки, я использовал следующее в global.asax для переопределения поведения сертификата по умолчанию.

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);
        }

Это все работает, просто найдите, и люди успешно используют систему, однако время от времени мы получаем взрыв:

ID1014: The signature is not valid. The data may have been tampered with.

в журналах событий, поэтому я включил трассировку WIF и увидел следующее, упомянутое в журнале.

ID1074: A CryptographicException occurred when attempting to encrypt the cookie using the ProtectedData API (see inner exception for details). If you are using IIS 7.5, this could be due to the loadUserProfile setting on the Application Pool being set to false.

У меня есть ощущение, что это ведет меня в темный переулок, как я и думал, потому что я изменил реализацию, чтобы использовать RSA, это не должно повлиять на меня.

Есть идеи, чтобы помочь мне?

Ответы на вопрос(4)

Ваш ответ на вопрос