CryptographicException ID1073错误在ASP.NET 4.0站点上无效

时间:2013-09-05 15:55:27

标签: asp.net c#-4.0 cookies forms-authentication wif

有没有人遇到过这个错误?当我在重定向到另一个站点然后重定向后重新发送到表单身份验证的站点时,我得到了这个。我已经检查过loadUserProfiles =“true”,但这没有帮助。这是一个在IISExpress上托管的站点,通过IISExpress上托管的其他站点,使用localhost gen'ed SSL证书并通过主机头进行区分。在这一点上,我甚至无能为力。这是一个cookie错误吗? FormsAuth cookie?它是ASP.NET 4.0站点,我正在对Thinktecture Id服务器进行身份验证。感谢任何反馈,以帮助我解决当前的问题。感谢

'/'应用程序中的服务器错误。

数据无效。

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Security.Cryptography.CryptographicException:数据无效。

来源错误:

在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。

堆栈追踪:

[CryptographicException:数据无效。 ]    System.Security.Cryptography.ProtectedData.Unprotect(Byte [] encryptedData,Byte [] optionalEntropy,DataProtectionScope scope)+318    Microsoft.IdentityModel.Web.ProtectedDataCookieTransform.Decode(Byte [] encoded)+203

[InvalidOperationException:ID1073:尝试使用ProtectedData API解密cookie时发生CryptographicException(有关详细信息,请参阅内部异常)。如果您使用的是IIS 7.5,则可能是由于应用程序池上的loadUserProfile设置被设置为false。 ]    Microsoft.IdentityModel.Web.ProtectedDataCookieTransform.Decode(Byte [] encoded)+319    Microsoft.IdentityModel.Tokens.SessionSecurityTokenHandler.ApplyTransforms(Byte [] cookie,Boolean outbound)+217    Microsoft.IdentityModel.Tokens.SessionSecurityTokenHandler.ReadToken(XmlReader reader,SecurityTokenResolver tokenResolver)+1951    Microsoft.IdentityModel.Tokens.SessionSecurityTokenHandler.ReadToken(Byte []标记,SecurityTokenResolver tokenResolver)+149    Microsoft.IdentityModel.Web.SessionAuthenticationModule.ReadSessionTokenFromCookie(Byte [] sessionCookie)+595    Microsoft.IdentityModel.Web.SessionAuthenticationModule.TryReadSessionTokenFromCookie(SessionSecurityToken& sessionToken)+120    Microsoft.IdentityModel.Web.SessionAuthenticationModule.OnAuthenticateRequest(Object sender,EventArgs eventArgs)+113    System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+136    System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)+69


版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.18044

2 个答案:

答案 0 :(得分:3)

如果您的应用程序池设置为加载其用户配置文件,则此类加密错误很常见。加密系统需要访问用户的证书库。

发生错误的确切时刻是您进行身份验证并且sts发送回已签名的SAML令牌。

这意味着错误是微妙的。你不是每次都看到它,只是在一个确切的时刻。您甚至可以欺骗错误,因为网站正常工作,但是一旦有人尝试登录,错误就会重新出现。

答案 1 :(得分:1)

问题仅发生在IE9中,当在调试模式下运行时。过了一会儿,它因任何原因而消失了。 :/