Какие входные данные используются для шифрования / создания билета проверки подлинности с помощью форм ASP.NET? - PullRequest
1 голос
/ 15 июня 2011

Все, что я прочитал, указывает на то, что элемент MachineKey в файле web.config - единственное, что определяет значение зашифрованного билета, но у меня есть много доказательств, чтобы противоречить этому на данный момент.

Итак, мой вопрос: что может отличать значение шифрования билета (особенно его длину), учитывая, что ключ машины и данные внутри билета идентичны?

EDIT

Мы видим изменения в значении в результате отметок времени. Однако в одной из сред создаваемые ценности намного короче. Два сайта (.NET 4, MVC2 / 3) справляются с этим просто отлично. Однако сайт .NET 2.0 / WebForms не может расшифровать его с помощью того же ключа компьютера.

Ответы [ 2 ]

1 голос
/ 15 июня 2011

MachineKey определяет, как он зашифрован / расшифрован. Содержимое включает временную метку, поэтому, даже если вы введете одни и те же данные, это объяснит различные зашифрованные значения.

0 голосов
/ 01 августа 2011

Итак, хотя MachineKey и алгоритм шифрования определяют производимое зашифрованное значение, мы подтвердили, что существует определенно исправлений, которые могут повлиять на шифрование / дешифрование ключа компьютера.

Это стало очевиднымкогда была исправлена ​​половина нашей веб-фермы, которая производила зашифрованные билеты разной длины, чем остальные.Это был большой набор патчей, поэтому мы не смогли определить точный патч, вызвавший другое поведение.

Итак ... если кто-то еще испытывает это очень странное поведение, убедитесь, что вы сравниваетеисправления и исправления, применяемые к каждому серверу при устранении неполадок.

...