我一直在使用WIF来验证我们的新网站,该STS是基于起动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:签名无效。 该数据可能已经被篡改。
在事件日志中,所以我打开WIF跟踪,看到日志下面提到。
ID1074:一个CryptographicException发生试图加密使用ProtectedData API的cookie时(详情请参见内部异常)。 如果您使用的是IIS 7.5,这可能是由于在应用程序池loadUserProfile设置被设置为false。
我有一种感觉,这是导致我下一个黑暗的胡同,因为我以为,因为我改变了执行使用RSA这不应该影响到我。
任何想法,以帮助我吗?