| Предыдущий | Следующий |
| SEC_I_NO_LSA_CONTEXT | SEC_I_NO_RENEGOTIATION |
SEC_I_SIGNATURE_NEEDED
Объект и операция
HRESULT 0X0009035C, именованный SEC_I_SIGNATURE_NEEDED, сообщает: перед продолжением аутентификации требуется выполнить signature operation. Сначала сохраните контекст возвращающего вызова; успешный широкий reset после него не доказывает, какой prerequisite был нарушен.
Точный EN-маркер для поиска по документации: A regression test should reproduce it, assert the relevant outputs and state, then change only the decisive condition and verify the expected neighboring result or ordinary completion.
. Сверяйте его с тем же timestamp и identity объекта.
Наблюдаемые признаки
- SSPI function и текущий context handle generation.
- input/output token lengths и requested context attributes.
- следующий вызов state machine, предусмотренный именно этим informational status.
Контрольная гипотеза
Подпись является обязательным следующим шагом state machine; повтор той же функции без неё не продвинет context.
Ещё один code-specific ориентир из исходного EN-описания: A nearby HRESULT can change object ownership, output validity, or the permitted next method.
. Он полезен как контроль того, что воспроизводится именно этот boundary, а не соседний HRESULT.
В минимальном тесте оставьте неизменными остальные входы и меняйте только компонент, связанный с маркерами signature / needed. Сравните первый return value, достигнутую фазу и состояние объекта после отказа.
Для дополнительной сверки документация описывает проверку так: SSPI status codes — official Microsoft material used to interpret it.
. Не переносите это условие на другой object generation без повторной фиксации evidence.
Следующий шаг
Не меняйте одновременно policy, identity, storage и service state. Один контролируемый change даёт возможность связать исчезновение HRESULT с реальной причиной, а не с побочным reset.
Технические ссылки
- Microsoft: SSPI status codes.
- Microsoft: SSPI context semantics.
- Microsoft: InitializeSecurityContext.
Нужно найти другой код? Найти другой код состояния или ошибки.
