簡體   English   中英

加密/創建ASP.NET Forms身份驗證票證有哪些輸入?

[英]What inputs go into encrypting / creating an ASP.NET Forms Authentication Ticket?

我閱讀的所有內容都指向web.config文件中的MachineKey元素,它是唯一確定加密票證價值的東西,但是目前我有很多證據與之矛盾。

所以我的問題是: 如果票證中的機器密鑰和數據相同,那么如何使票證加密值(尤其是長度)不同?

編輯

我們看到由於時間戳而導致的值變化。 但是,在其中一種環境中,創建的值本身要短得多。 兩個站點(.NET 4,MVC2 / 3)可以很好地應對它。 但是,.NET 2.0 / WebForms站點無法使用相同的機器密鑰對其進行解密。

MachineKey確定如何對其進行加密/解密。 內容包括時間戳記,因此即使您輸入相同的數據,也可以解釋不同的加密值。

因此,雖然MachineKey和加密算法確定了產生的加密值,但我們已經確認肯定有一些補丁會影響機器密鑰的加密/解密。

當修補了我們一半的Web場時,這一點就變得很明顯,該場產生的加密票據的長度不同於其他票據。 這是大量補丁,因此我們無法確定導致不同行為的確切補丁。

因此...如果其他任何人遇到這種非常奇怪的行為,請確保在進行故障排除時比較應用到每個服務器的補丁和修補程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM