mssip.h) (SIP_SUBJECTINFO 结构

SIP_SUBJECTINFO 结构将使用者信息数据指定给使用者接口包 (SIP) API。

语法

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 结尾的 Unicode 字符串的指针,该字符串包含主题的文件名。

pwsDisplayName

指向以 null 结尾的 Unicode 字符串的指针,该字符串包含主题的显示名称。

dwReserved1

此成员留待将来使用。

dwIntVersion

此成员是保留的。 请勿修改此成员。 SIP 使用它在 get 和 verify 函数之间传递内部版本号。

hProv

加密提供程序的 HCRYPTPROV 句柄。

DigestAlgorithm

一个CRYPT_ALGORITHM_IDENTIFIER结构,其中包含用于对文件进行哈希处理的哈希算法的标识符。

dwFlags

一个 值,该值修改使用此结构的函数的行为。 有关此成员的可能值的详细信息,请参阅 SignerSignExdwFlags 参数。

dwEncodingType

一个 值,该值指定用于文件的编码类型。 目前,仅使用 X509_ASN_ENCODINGPKCS_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
其他信息是 BLOB
MSSIP_ADDINFO_NONMSSIP
500
其他信息采用用户定义的格式。

psFlat

包含平面文件主题类型的其他信息的 MS_ADDINFO_FLAT 结构。

psCatMember

包含目录成员主题类型的其他信息的 MS_ADDINFO_CATALOGMEMBER 结构。

psBlob

包含 BLOB 主题类型的其他信息的 MS_ADDINFO_BLOB 结构。

psDetachedSig

pClientData

指向特定于 SIP 的数据的指针。

注解

首次使用 SIP_SUBJECTINFO 结构时,将整个结构初始化为二进制零。 不要初始化 SIP 函数调用之间的结构。

主题包括但不限于可移植的可执行映像 (.exe) 、cabinet (.cab) 映像、平面文件和目录文件。 每个主题类型使用其数据的不同子集进行哈希计算,并且需要不同的存储和检索过程。 因此,每个主题类型都有一个唯一的主题接口包规范。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 mssip.h