SEC_WINNT_AUTH_IDENTITY_EX2構造体 (sspi.h)
認証 ID に関する情報が含まれています。 SEC_WINNT_AUTH_IDENTITY_EX2 構造体には、AcquireCredentialsHandle 関数に提供される認証データが含まれています。
構文
typedef struct _SEC_WINNT_AUTH_IDENTITY_EX2 {
unsigned long Version;
unsigned short cbHeaderLength;
unsigned long cbStructureLength;
unsigned long UserOffset;
unsigned short UserLength;
unsigned long DomainOffset;
unsigned short DomainLength;
unsigned long PackedCredentialsOffset;
unsigned short PackedCredentialsLength;
unsigned long Flags;
unsigned long PackageListOffset;
unsigned short PackageListLength;
} SEC_WINNT_AUTH_IDENTITY_EX2, *PSEC_WINNT_AUTH_IDENTITY_EX2;
メンバーズ
Version
構造体のバージョン番号。 これは SEC_WINNT_AUTH_IDENTITY_VERSION_2する必要があります。
cbHeaderLength
構造体ヘッダーのサイズ (バイト単位)。
cbStructureLength
構造体のサイズ (バイト単位)。
UserOffset
構造体の先頭からユーザー名文字列の先頭までのオフセット。
UserLength
ユーザー名文字列のサイズ (バイト単位)。
DomainOffset
構造体の先頭からドメイン名文字列の先頭までのオフセット。
ID 資格情報には、ドメイン名ではなく ID プロバイダー名を含める必要があります。
DomainLength
ドメイン名文字列のサイズ (バイト単位)。
PackedCredentialsOffset
構造体の先頭からパックされた資格情報の先頭までのオフセット。
パックされた資格情報は、資格情報の種類を一意に指定する資格情報の種類を含む SEC_WINNT_AUTH_PACKED_CREDENTIALS 構造です。
PackedCredentialsLength
パックされた資格情報文字列のサイズ (バイト単位)。
Flags
の否定可能な
価値 | 意味 |
---|---|
|
すべてのデータは 1 つのバッファー内にあります。 |
|
Kerberosセキュリティ サポート プロバイダー (SSP) と共に使用されます。 資格情報は ID 専用です。 Kerberos パッケージは、チケットに承認データを含めないように指示されます。 |
|
資格情報は ANSI 形式です。 |
|
資格情報は Unicode 形式です。 |
|
資格情報の種類がパスワードの場合、このフラグが存在すると、構造体がオンライン ID 資格情報であることが指定されます。
DomainOffset および DomainLength メンバーは、オンライン ID プロバイダー名に対応します。
Windows Server 2008 R2 および Windows 7: このフラグはサポートされていません。 |
|
構造体は、SspiEncryptAuthIdentity 関数または SEC_WINNT_AUTH_IDENTITY_ENCRYPT_SAME_PROCESS オプション SspiEncryptAuthIdentityEx 関数によって暗号化されます。 同じプロセスでのみ暗号化を解除できます。
Windows Server 2008 R2 および Windows 7: このフラグはサポートされていません。 |
|
構造体は、SYSTEM セキュリティ コンテキストの下の SEC_WINNT_AUTH_IDENTITY_ENCRYPT_SAME_LOGON オプションを使用して、SspiEncryptAuthIdentityEx 関数によって暗号化されます。 暗号化を解除できるのは、SYSTEM として実行されているスレッドだけです。
Windows Server 2008 R2 および Windows 7: このフラグはサポートされていません。 |
|
構造体は、SspiEncryptAuthIdentityEx 関数によって暗号化され、system 以外のセキュリティ コンテキストの下でSEC_WINNT_AUTH_IDENTITY_ENCRYPT_SAME_LOGONオプションを使用します。 暗号化されたのと同じログオン セッションで実行されているスレッドによってのみ復号化できます。
Windows Server 2008 R2 および Windows 7: このフラグはサポートされていません。 |
|
認証 ID バッファーは、cbStructureLength + ID のインプレース暗号化または暗号化解除に必要な 8 パディング バイトです。 |
PackageListOffset
構造体の先頭からサポートされているパッケージの一覧の先頭までのオフセット。
PackageListLength
サポートされているパッケージ リストのサイズ (バイト単位)。
備考
この認証 ID バッファーは、GetSerialization メソッド、CredUIPromptForWindowsCredential、SspiPromptForCredentials 関数など、複数の資格情報 API から返すことができます。
構造体は認証 ID バッファーのヘッダーを記述し、データは構造体の末尾に追加されます。 バッファー サイズは
SEC_WINNT_AUTH_IDENTITY_EX2 構造体は、QueryContextAttributes(CredSSP) によって返され、AcquireCredentialsHandle(CredSSP)、LsaLogonUser、およびその他の ID プロバイダー インターフェイスによって使用されます。
SEC_WINNT_AUTH_PACKED_CREDENTIALS には、SEC_WINNT_AUTH_DATA_TYPE_PASSWORDとして定義されたパスワード資格情報の種類を含めることができます。 この資格情報の種類は、ドメイン ユーザーのパスワード資格情報と、その他のオンライン ID について説明します。 アプリケーションでは、この資格情報の種類と SEC_WINNT_AUTH_PACKED_CREDENTIALS 構造体の他の定義を参照するコードをコンパイルするための_SEC_WINNT_AUTH_TYPESを定義する必要があります。
アプリケーションは、Flags メンバーに対して直接クエリを実行したり設定したりしないでください。 SspiIsAuthIdentityEncrypted、SspiEncryptAuthIdentityEx、および SspiDecryptAuthIdentityEx 関数を使用して、SEC_WINNT_AUTH_IDENTITY_EX2 構造の暗号化と復号化を管理します。
ID プロバイダーは、パスワード資格情報をドメイン パスワードと別の ID プロバイダーのパスワードと区別するために、SEC_WINNT_AUTH_IDENTITY_FLAGS_ID_PROVIDERフィールドとドメイン名フィールドを明示的に確認または設定する必要があります。
CredPackAuthenticationBuffer 関数は、CRED_PACK_ID_PROVIDER_CREDENTIALS オプションを使用して呼び出して、SEC_WINNT_AUTH_IDENTITY_FLAGS_ID_PROVIDER値を含む Flags メンバー SEC_WINNT_AUTH_DATA_TYPE_PASSWORD認証データを持つ SEC_WINNT_AUTH_IDENTITY_EX2 構造を作成できます。 および DomainOffset メンバーがプロバイダー名に設定されます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
ヘッダー | sspi.h |