Поделиться через


структура SIP_SUBJECTINFO (mssip.h)

Структура SIP_SUBJECTINFO указывает данные о субъекте для API-интерфейсов пакета интерфейса субъекта (SIP).

Синтаксис

typedef struct SIP_SUBJECTINFO_ {
  DWORD                      cbSize;
  GUID                       *pgSubjectType;
  HANDLE                     hFile;
  LPCWSTR                    pwsFileName;
  LPCWSTR                    pwsDisplayName;
  DWORD                      dwReserved1;
  DWORD                      dwIntVersion;
  HCRYPTPROV                 hProv;
  CRYPT_ALGORITHM_IDENTIFIER DigestAlgorithm;
  DWORD                      dwFlags;
  DWORD                      dwEncodingType;
  DWORD                      dwReserved2;
  DWORD                      fdwCAPISettings;
  DWORD                      fdwSecuritySettings;
  DWORD                      dwIndex;
  DWORD                      dwUnionChoice;
  union {
#if ...
    MS_ADDINFO_FLAT_                 *psFlat;
#else
    struct MS_ADDINFO_FLAT_          *psFlat;
#endif
#if ...
    MS_ADDINFO_CATALOGMEMBER_        *psCatMember;
#else
    struct MS_ADDINFO_CATALOGMEMBER_ *psCatMember;
#endif
#if ...
    MS_ADDINFO_BLOB_                 *psBlob;
#else
    struct MS_ADDINFO_BLOB_          *psBlob;
#endif
#if ...
    MS_ADDINFO_DETACHEDSIG_          *psDetachedSig;
#else
    struct MS_ADDINFO_DETACHEDSIG_   *psDetachedSig;
#endif
  };
  LPVOID                     pClientData;
} SIP_SUBJECTINFO, *LPSIP_SUBJECTINFO;

Члены

cbSize

Размер данной структуры (в байтах).

pgSubjectType

Указатель на структуру GUID , которая идентифицирует тип субъекта.

hFile

Дескриптор файла, представляющий тему. Если типом хранилища субъекта является файл, задайте для hFileзначение INVALID_HANDLE_VALUE и задайте для параметра pwsFileName имя файла.

pwsFileName

Указатель на строку Юникода, завершающуюся null, которая содержит имя файла субъекта.

pwsDisplayName

Указатель на строку Юникода, завершающуюся null, которая содержит отображаемое имя субъекта.

dwReserved1

Этот элемент зарезервирован для использования в будущем.

dwIntVersion

Этот элемент зарезервирован. Не изменяйте этот элемент. Он используется SIP для передачи внутреннего номера версии между функциями get и verify.

hProv

Дескриптор HCRYPTPROV для поставщика шифрования.

DigestAlgorithm

Структура CRYPT_ALGORITHM_IDENTIFIER , содержащая идентификатор хэш-алгоритма , используемого для хэширования файла.

dwFlags

Значение типа , изменяющее поведение функций, использующих эту структуру. Дополнительные сведения о возможных значениях для этого элемента см. в разделе Параметр dwFlagsобъекта SignerSignEx.

dwEncodingType

Значение типа , указывающее тип кодирования, используемый для файла. В настоящее время используются только X509_ASN_ENCODING и PKCS_7_ASN_ENCODING ; однако в будущем могут быть добавлены дополнительные типы кодирования. Для любого из текущих типов кодирования используйте : X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.

dwReserved2

Этот элемент зарезервирован для использования в будущем.

fdwCAPISettings

Этот элемент не используется.

fdwSecuritySettings

Этот элемент не используется.

dwIndex

Индекс сообщения последнего вызова CryptSIPGetSignedDataMsg. .

dwUnionChoice

Указывает тип предоставленных дополнительных сведений.

Определенная константа/значение Значение
MSSIP_ADDINFO_NONE
0
Дополнительных сведений по этому вопросу нет.
MSSIP_ADDINFO_FLAT
1
Дополнительные сведения — неструктурированный файл.
MSSIP_ADDINFO_CATMEMBER
2
Дополнительные сведения — это член каталога.
MSSIP_ADDINFO_BLOB
3
Дополнительные сведения — большой двоичный объект.
MSSIP_ADDINFO_NONMSSIP
500
Дополнительные сведения приведены в определяемом пользователем формате.

psFlat

Структура MS_ADDINFO_FLAT , содержащая дополнительные сведения о типах субъектов неструктурированных файлов.

psCatMember

Структура MS_ADDINFO_CATALOGMEMBER , содержащая дополнительные сведения о типах субъектов-членов каталога.

psBlob

Структура MS_ADDINFO_BLOB , содержащая дополнительные сведения о типах субъектов BLOB.

psDetachedSig

pClientData

Указатель на данные, относящиеся к SIP.

Комментарии

При первом использовании структуры SIP_SUBJECTINFO инициализируйте всю структуру двоичным нулем. Не инициализируйте структуру между вызовами функций SIP.

К темам относятся, помимо прочего, переносимые исполняемые образы (.exe), образы кабинетов (.cab), неструктурированные файлы и файлы каталога. Каждый тип субъекта использует свое подмножество своих данных для вычисления хэша и требует разных процедур хранения и извлечения. Поэтому каждый тип субъекта имеет уникальную спецификацию пакета интерфейса субъекта.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть mssip.h