Структуры аутентификации
Структуры проверки подлинности классифицируются в соответствии с использованием следующим образом:
- Структуры SSPI
- Структуры Schannel
- Пользовательские структуры пакетов безопасности
- Структуры поставщиков сетей
- Структуры GINA
- Структуры локальных органов безопасности
- Структуры управления учетными данными
- Структуры смарт-карт
Структуры SSPI
В функциях SSPI используются следующие структуры, определенные в Sspi.h.
Структура | Описание |
---|---|
CREDSSP_CRED | Указывает данные проверки подлинности для пакетов безопасности Schannel и Negotiate. |
SEC_WINNT_AUTH_IDENTITY | Используется для передачи определенного имени пользователя и пароля в библиотеку времени выполнения для проверки подлинности. |
SEC_WINNT_AUTH_IDENTITY_EX | Содержит сведения о пользователе. Эта структура представлена как в формате ANSI, так и в Юникоде . |
SecBuffer | Буфер, выделенный транспортным приложением для передачи в пакет безопасности. |
SecBufferDesc | Массив структур SecBuffer для передачи из транспортного приложения в пакет безопасности. |
SecPkgContext_AccessToken | Содержит дескриптор маркера доступа контекста безопасности. |
SecPkgContext_ClientCreds | Задает учетные данные клиента при вызове функции QueryContextAttributes (CredSSP). |
SecPkgContext_ConnectionInfo | Содержит сведения о протоколе и шифре. Эта структура используется функцией QueryContextAttributes (General). |
SecPkgContext_CredentialName | Указывает имя учетных данных. |
SecPkgContext_DceInfo | Содержит данные авторизации, используемые службами DCE. |
SecPkgContext_EapKeyBlock | Содержит ключевые данные, используемые протоколом проверки подлинности EAP TLS. |
SecPkgContext_Flags | Содержит сведения о флагах в контексте безопасности. |
SecPkgContext_IssuerListInfoEx | Содержит список доверенных центров сертификации (ЦС). |
SecPkgContext_Lifespan | Указывает срок жизни контекста безопасности. |
SecPkgContext_Names | Содержит имя пользователя, связанного с контекстом безопасности. |
SecPkgContext_NativeNames | Содержит имена клиентов и субъектов сервера из исходящего билета. |
SecPkgContext_NegotiationInfo | Содержит сведения о пакете безопасности , который настраивается или был настроен. Он также указывает состояние согласования для настройки пакета безопасности. |
SecPkgContext_PackageInfo | Содержит имя поставщика поддержки безопасности (SSP). |
SecPkgContext_PasswordExpiry | Содержит сведения об истечении срока действия пароля или других учетных данных. |
SecPkgContext_SessionKey | Содержит сведения о ключе сеанса. |
SecPkgContext_Sizes | Содержит размеры важных структур, используемых в функциях поддержки сообщений. |
SecPkgContext_StreamSizes | Содержит размеры различных атрибутов потока для использования с функциями поддержки сообщений. |
SecPkgContext_TargetInformation | Содержит сведения об учетных данных, используемых для контекста безопасности. |
SecPkgCredentials_Names | Содержит имя пользователя, связанного с контекстом. |
SecPkgInfo | Предоставляет общие сведения о пакете безопасности, такие как его имя и возможности. |
SECURITY_INTEGER | Структура для хранения числовых значений. Он используется при определении других типов. |
SecurityFunctionTable | Таблица диспетчеризации, содержащая указатели на функции, определенные в SSPI. |
Структуры Schannel
Для использования со Schannel определены следующие структуры.
Структура | Описание |
---|---|
SCH_CRED_PUBLIC_CERTCHAIN | Содержит один сертификат. На основе этого сертификата можно создать цепочку сертификации. |
SCH_CRED_SECRET_PRIVKEY | Содержит сведения о закрытом ключе , необходимые для проверки подлинности клиента или сервера. |
SCHANNEL_CERT_HASH | Содержит данные хэш-хранилища для сертификата, который использует Schannel. |
SCHANNEL_CERT_HASH_STORE | Содержит данные хэш-хранилища для сертификата, который Schannel использует в режиме ядра. |
SCHANNEL_ALERT_TOKEN | Создает оповещение SSL или TSL, отправляемое в целевой объект вызова функции InitializeSecurityContext (Schannel) или AcceptSecurityContext (Schannel). |
SCHANNEL_CLIENT_SIGNATURE | Указывает сигнатуру клиента, если вызов функции InitializeSecurityContext (Schannel) не может получить доступ к закрытому ключу сертификата клиента (в этом случае функция возвращает SEC_I_SIGNATURE_NEEDED). |
SCHANNEL_CRED | Содержит данные для учетных данных Schannel. |
SCHANNEL_SESSION_TOKEN | Указывает, включены ли повторные подключения для сеанса проверки подлинности, созданного путем вызова функции InitializeSecurityContext (Schannel) или AcceptSecurityContext (Schannel). |
SecPkgContext_Authority | Содержит имя центра проверки подлинности, если он доступен. Это может быть центр сертификации (ЦС) или имя сервера или домена, прошедших проверку подлинности подключения. |
SecPkgContext_ConnectionInfo | Содержит сведения о протоколе и шифре. Эта структура используется функцией QueryContextAttributes (General). |
SecPkgContext_IssuerListInfoEx | Содержит список доверенных центров сертификации. |
SecPkgContext_KeyInfo | Содержит сведения о ключах сеанса , используемых в контексте безопасности. Эта структура была заменена структурой SecPkgContext_ConnectionInfo . |
SecPkgContext_ProtoInfo | Содержит сведения об используемом протоколе. |
SecPkgContext_SessionAppData | Хранит данные приложения для контекста сеанса. |
SecPkgCred_CipherStrengths | Содержит минимальную и максимальную прочность, разрешенную для шифра, используемого указанными учетными данными Schannel. |
SecPkgCred_SupportedAlgs | Содержит идентификаторы для алгоритмов, разрешенных с указанными учетными данными Schannel. |
SecPkgCred_SupportedProtocols | Указывает протоколы, разрешенные с указанными учетными данными Schannel. |
X509Certificate | Представляет сертификат X.509 . |
Пользовательские структуры пакетов безопасности
Пользовательский пакет безопасности использует следующие структуры.
Структура | Описание |
---|---|
LSA_SECPKG_FUNCTION_TABLE | Таблица указателей на функции локального центра безопасности (LSA), которые могут вызывать пользовательские пакеты безопасности. |
SECPKG_CALL_INFO | Содержит сведения о вызове функции. |
SECPKG_CLIENT_INFO | Содержит сведения о пользователе пакета безопасности. |
SECPK_CONTEXT_THUNKS | Содержит сведения о вызовах пакета безопасности, которые будут выполняться в процессе с помощью LSA. |
SECPKG_DLL_FUNCTIONS | Содержит функции, доступные для пользовательских пакетов безопасности, выполняющихся внутри процесса с помощью клиентского или серверного приложения. |
SECPKG_EVENT_DOMAIN_CHANGE | Содержит сведения о сеансе и компьютере. Это имя структуры является псевдонимом для структуры SECPKG_PARAMETERS . |
SECPKG_EVENT_NOTIFY | Содержит сведения о событии, связанном с безопасностью. |
SECPKG_EVENT_PACKAGE_CHANGE | Содержит сведения о доступности и использовании пакетов безопасности. |
SECPKG_EXTENDED_INFORMATION | Содержит расширенные сведения о пакете безопасности. |
SECPKG_FUNCTION_TABLE | Содержит указатели на функции, реализованные пакетами безопасности. |
SECPKG_GSS_INFO | Содержит сведения об идентификаторе OID GSS, используемом для идентификации пакета безопасности. |
SECPKG_MUTUAL_AUTH_LEVEL | Содержит сведения об уровне взаимной проверки подлинности, используемом пакетом безопасности. |
SECPKG_PARAMETERS | Содержит сведения о сеансе и компьютере. |
SECPKG_PRIMARY_CRED | Содержит сведения о первичных учетных данных . |
SECPKG_SUPPLEMENTAL_CRED | Содержит дополнительные сведения об учетных данных . |
SECPKG_SUPPLEMENTAL_CRED_ARRAY | Содержит дополнительные сведения об учетных данных. |
SECPKG_USER_FUNCTION_TABLE | Содержит функции, реализованные пакетом безопасности, загруженным внутри процесса с клиентскими или серверными приложениями. |
SecurityUserData | Содержит сведения о вошедшего в систему пользователя. |
Структуры поставщиков сетей
Следующие структуры используются API поставщика сетей и связанными функциями.
Структура | Описание |
---|---|
NETCONNECTINFOSTRUCT | Содержит сведения о производительности сетевого подключения. |
NETRESOURCE | Содержит сведения о перечислимом сетевом ресурсе. |
NOTIFYADD | Содержит сведения об операции сетевого подключения. |
NOTIFYCANCEL | Содержит сведения об операции отключения сети. |
NOTIFYINFO | Содержит сведения о состоянии операции сетевого подключения или отключения. |
REMOTE_NAME_INFO | Содержит сведения об удаленном универсальном имени. |
UNIVERSAL_NAME_INFO | Содержит локальное универсальное имя. |
Структуры GINA
Функции интерфейса GINA и функции поддержки Winlogon используют следующие структуры.
Структура | Описание |
---|---|
WLX_CLIENT_CREDENTIALS_INFO_V1_0 | Содержит сведения об учетных данных клиента. |
WLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0 | Содержит учетные данные клиента, позволяющие прозрачно передавать учетные данные в целевой сеанс. |
WLX_DESKTOP | Содержит сведения о рабочем столе. |
WLX_DISPATCH_VERSION_1_0 | Содержит таблицу диспетчеризации Winlogon версии 1.0. |
WLX_DISPATCH_VERSION_1_1 | Содержит таблицу диспетчеризации Winlogon версии 1.1. |
WLX_DISPATCH_VERSION_1_2 | Содержит таблицу диспетчеризации Winlogon версии 1.2. |
WLX_DISPATCH_VERSION_1_3 | Содержит таблицу диспетчеризации Winlogon версии 1.3. |
WLX_DISPATCH_VERSION_1_4 | Содержит таблицу диспетчеризации Winlogon версии 1.4. |
WLX_MPR_NOTIFY_INFO | Содержит сведения о проверке подлинности и идентификации. |
WLX_PROFILE_V1_0 | Содержит сведения, используемые для настройки начальной среды. |
WLX_PROFILE_V2_0 | Содержит сведения, используемые для настройки начальной среды. |
WLX_TERMINAL_SERVICES_DATA | Содержит путь к профилю служб терминалов и сведения о домашнем каталоге. |
Структуры локальных органов безопасности
Локальная служба безопасности (LSA) использует следующие структуры.
Структура | Описание |
---|---|
DOMAIN_PASSWORD_INFORMATION | Содержит сведения о политике паролей домена, такие как минимальная длина паролей и то, как должны быть уникальные пароли. |
KERB_ADD_CREDENTIALS_REQUEST | Указывает сообщение для добавления, удаления или замены дополнительных учетных данных сервера для сеанса входа. |
KERB_ADD_CREDENTIALS_REQUEST_EX | Указывает сообщение для добавления, удаления или замены дополнительных учетных данных сервера для сеанса входа, а также имена субъектов-служб , связанные с этим учетными данными. |
KERB_CERTIFICATE_LOGON | Содержит сведения о сеансе интеллектуального карта входа. |
KERB_CERTIFICATE_UNLOCK_LOGON | Содержит сведения, используемые для разблокировки рабочей станции, которая была заблокирована во время интерактивного сеанса интеллектуального карта входа. |
KERB_CHANGEPASSWORD_REQUEST | Содержит сведения, используемые для изменения пароля. |
KERB_CRYPTO_KEY | Содержит сведения о ключе сеанса шифрования Kerberos. |
KERB_EXTERNAL_NAME | Содержит сведения о внешнем имени. |
KERB_EXTERNAL_TICKET | Содержит сведения о внешнем билете. |
KERB_INTERACTIVE_LOGON | Содержит сведения об интерактивном сеансе входа. |
KERB_INTERACTIVE_PROFILE | Содержит сведения об интерактивном профиле входа. |
KERB_INTERACTIVE_UNLOCK_LOGON | Содержит сведения, используемые для разблокировки рабочей станции, которая была заблокирована во время интерактивного сеанса входа. |
KERB_PURGE_TKT_CACHE_REQUEST | Содержит сведения, используемые для удаления записей из кэша билетов. |
KERB_QUERY_TKT_CACHE_REQUEST | Используется для получения сведений обо всех кэшированных билетах для указанного сеанса входа пользователя. |
KERB_QUERY_TKT_CACHE_RESPONSE | Содержит результаты запроса к кэшу билетов. |
KERB_RETRIEVE_TKT_REQUEST | Содержит сведения, используемые для получения билета. |
KERB_RETRIEVE_TKT_RESPONSE | Содержит ответ от получения билета. |
KERB_S4U_LOGON | Содержит сведения о службе для сеанса входа пользователя (S4U). |
KERB_SMARTCARD_CSP_INFO | Содержит сведения о поставщике служб шифрования (CSP) смарт-карта. |
KERB_SMART_CARD_LOGON | Содержит сведения о сеансе интеллектуального карта входа. |
KERB_SMART_CARD_UNLOCK_LOGON | Содержит сведения, используемые для разблокировки рабочей станции, которая была заблокирована во время сеанса интеллектуального карта входа. |
KERB_TICKET_CACHE_INFO | Содержит сведения о кэшированном билете Kerberos. |
KERB_TICKET_LOGON | Содержит сведения о профиле для сетевого входа. |
KERB_TICKET_PROFILE | Содержит сведения об интерактивном профиле входа. |
KERB_TICKET_UNLOCK_LOGON | Содержит сведения для разблокировки рабочей станции. |
LSA_DISPATCH_TABLE | Таблица указателей на функции LSA, которые могут вызывать пакеты проверки подлинности Windows. |
LSA_STRING | Содержит строку ANSI и сведения о ее длине. |
LSA_FOREST_TRUST_BINARY_DATA | Содержит двоичные данные, используемые в операциях доверия леса LSA. |
LSA_FOREST_TRUST_COLLISION_INFORMATION | Содержит сведения о конфликтах доверия леса LSA. |
LSA_FOREST_TRUST_RECORD | Содержит сведения о конфликте доверия леса LSA. |
LSA_FOREST_TRUST_DOMAIN_INFO | Содержит идентифицирующие сведения для домена. |
LSA_FOREST_TRUST_INFORMATION | Содержит сведения о доверии леса LSA. |
LSA_FOREST_TRUST_RECORD | Содержит запись доверия леса LSA. |
LSA_TOKEN_INFORMATION_NULL | Используется в случаях, когда требуется доступ к системе без проверки подлинности. Эта структура не содержит содержимого. |
LSA_TOKEN_INFORMATION_V1 | Содержит сведения, которые пакет проверки подлинности может поместить в объект токена Windows версии 1. |
MSV1_0_CHANGEPASSWORD_REQUEST | Является устаревшей. |
MSV1_0_CHANGEPASSWORD_RESPONSE | Является устаревшей. |
MSV1_0_ENUMUSERS_REQUEST | Является устаревшей. |
MSV1_0_ENUMUSERS_RESPONSE | Является устаревшей. |
MSV1_0_GETUSERINFO_REQUEST | Является устаревшей. |
MSV1_0_GETUSERINFO_RESPONSE | Является устаревшей. |
MSV1_0_INTERACTIVE_LOGON | Содержит сведения о входе пользователя для интерактивного входа. |
MSV1_0_INTERACTIVE_PROFILE | Содержит сведения об интерактивном профиле входа. |
MSV1_0_LM20_LOGON | Содержит сведения о входе в систему, используемые при входе в сеть. |
MSV1_0_LM20_LOGON_PROFILE | Содержит сведения о сеансе входа в сеть. |
MSV1_0_SUBAUTH_LOGON | Используется библиотеками DLL под проверки подлинности . |
MSV1_0_SUBAUTH_REQUEST | Содержит сведения для передачи в пакет вложенной проверки подлинности. |
MSV1_0_SUBAUTH_RESPONSE | Содержит ответ из пакета вложенной проверки подлинности. |
MSV1_0_SUPPLEMENTAL_CREDENTIAL | Используется для передачи учетных данных в MSV1_0 из Kerberos или пользовательских пакетов проверки подлинности. |
NETLOGON_LOGON_IDENTITY_INFO | Используется Msv1_0SubAuthenticationRoutine и Msv1_0SubAuthenticationFilter для передачи сведений о пользователе для вложенной проверки подлинности входа. |
OLD_LARGE_INTEGER | Используется для представления 64-разрядного целого числа со знаком в виде двух 32-разрядных целых чисел. |
QUOTA_LIMITS | Описывает объем системных ресурсов, доступных пользователю. |
SR_SECURITY_DESCRIPTOR | Содержит сведения о привилегиях безопасности пользователя. |
USER_ALL_INFORMATION | Содержит сведения о пользователе сеанса. Используется с пакетами вложенной проверки подлинности. |
Структуры управления учетными данными
API управления учетными данными включает следующие структуры.
Структура | Описание |
---|---|
CERT_CREDENTIAL_INFO | Содержит ссылку на сертификат. |
УЧЕТНЫХ ДАННЫХ | Содержит отдельные учетные данные. |
CREDENTIAL_ATTRIBUTE | Содержит определяемый приложением атрибут учетных данных. |
CREDENTIAL_TARGET_INFORMATION | Содержит имя, домен и дерево целевого компьютера. |
CREDUI_INFO | Управляет внешним видом диалоговых окон Управление учетными данными. |
USERNAME_TARGET_CREDENTIAL_INFO | Содержит ссылку на учетные данные. Эта структура используется для передачи имени пользователя в функцию CredMarshalCredential и из CredUnmarshalCredential. |
Структуры смарт-карт
Смарт-карта предоставляет следующие структуры.
Структура | Описание |
---|---|
OPENCARD_SEARCH_CRITERIA | Предоставляет определенные сведения о поиске, используемые функцией SCardUIDlgSelectCard . |
OPENCARDNAME | Предоставляет сведения, используемые функцией GetOpenCardName . |
OPENCARDNAME_EX | Предоставляет сведения, используемые функцией SCardUIDlgSelectCard . |
SCARD_ATRMASK | Находит карточки с помощью SCardLocateCardsByATR. |
SCARD_IO_REQUEST | Начинает структуру сведений об элементе управления протоколом. |
SCARD_READERSTATE | Отслеживает смарт-карты в средстве чтения. |