mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 08:55:19 +00:00
sync wintrust and mscat32 with wine 1.1.14
svn path=/trunk/; revision=39255
This commit is contained in:
parent
4a85c6705b
commit
5810de951d
7 changed files with 175 additions and 93 deletions
|
@ -5,30 +5,30 @@
|
|||
@ stdcall CryptCATAdminEnumCatalogFromHash(long ptr long long ptr) wintrust.CryptCATAdminEnumCatalogFromHash
|
||||
@ stdcall CryptCATAdminReleaseCatalogContext(long long long) wintrust.CryptCATAdminReleaseCatalogContext
|
||||
@ stdcall CryptCATAdminReleaseContext(long long) wintrust.CryptCATAdminReleaseContext
|
||||
@ stub CryptCATCDFClose
|
||||
@ stdcall CryptCATCDFClose(ptr) wintrust.CryptCATCDFClose
|
||||
@ stub CryptCATCDFEnumAttributes
|
||||
@ stub CryptCATCDFEnumAttributesWithCDFTag
|
||||
@ stub CryptCATCDFEnumCatAttributes
|
||||
@ stdcall CryptCATCDFEnumAttributesWithCDFTag(ptr wstr ptr ptr ptr) wintrust.CryptCATCDFEnumAttributesWithCDFTag
|
||||
@ stdcall CryptCATCDFEnumCatAttributes(ptr ptr ptr) wintrust.CryptCATCDFEnumCatAttributes
|
||||
@ stub CryptCATCDFEnumMembers
|
||||
@ stub CryptCATCDFEnumMembersByCDFTag
|
||||
@ stub CryptCATCDFOpen
|
||||
@ stub CryptCATCatalogInfoFromContext
|
||||
@ stdcall CryptCATCDFEnumMembersByCDFTag(ptr wstr ptr ptr long) wintrust.CryptCATCDFEnumMembersByCDFTag
|
||||
@ stdcall CryptCATCDFOpen(wstr ptr) wintrust.CryptCATCDFOpen
|
||||
@ stdcall CryptCATCatalogInfoFromContext(ptr ptr long) wintrust.CryptCATCatalogInfoFromContext
|
||||
@ stdcall CryptCATClose(long) wintrust.CryptCATClose
|
||||
@ stub CryptCATEnumerateAttr
|
||||
@ stub CryptCATEnumerateCatAttr
|
||||
@ stdcall CryptCATEnumerateAttr(ptr ptr ptr) wintrust.CryptCATEnumerateAttr
|
||||
@ stdcall CryptCATEnumerateCatAttr(ptr ptr) wintrust.CryptCATEnumerateCatAttr
|
||||
@ stdcall CryptCATEnumerateMember(long ptr) wintrust.CryptCATEnumerateMember
|
||||
@ stub CryptCATGetAttrInfo
|
||||
@ stub CryptCATGetCatAttrInfo
|
||||
@ stub CryptCATGetMemberInfo
|
||||
@ stub CryptCATHandleFromStore
|
||||
@ stdcall CryptCATGetAttrInfo(ptr ptr wstr) wintrust.CryptCATGetAttrInfo
|
||||
@ stdcall CryptCATGetCatAttrInfo(ptr wstr) wintrust.CryptCATGetCatAttrInfo
|
||||
@ stdcall CryptCATGetMemberInfo(ptr wstr) wintrust.CryptCATGetMemberInfo
|
||||
@ stdcall CryptCATHandleFromStore(ptr) wintrust.CryptCATHandleFromStore
|
||||
@ stdcall CryptCATOpen(wstr long long long long) wintrust.CryptCATOpen
|
||||
@ stub CryptCATPersistStore
|
||||
@ stub CryptCATPutAttrInfo
|
||||
@ stub CryptCATPutCatAttrInfo
|
||||
@ stub CryptCATPutMemberInfo
|
||||
@ stub CryptCATStoreFromHandle
|
||||
@ stdcall CryptCATPersistStore(ptr) wintrust.CryptCATPersistStore
|
||||
@ stdcall CryptCATPutAttrInfo(ptr ptr wstr long long ptr) wintrust.CryptCATPutAttrInfo
|
||||
@ stdcall CryptCATPutCatAttrInfo(ptr wstr long long ptr) wintrust.CryptCATPutCatAttrInfo
|
||||
@ stdcall CryptCATPutMemberInfo(ptr wstr wstr ptr long long ptr) wintrust.CryptCATPutMemberInfo
|
||||
@ stdcall CryptCATStoreFromHandle(ptr) wintrust.CryptCATStoreFromHandle
|
||||
@ stdcall -private DllRegisterServer() wintrust.mscat32DllRegisterServer
|
||||
@ stdcall -private DllUnregisterServer() wintrust.mscat32DllUnregisterServer
|
||||
@ stub IsCatalogFile
|
||||
@ stdcall IsCatalogFile(ptr wstr) wintrust.IsCatalogFile
|
||||
@ stub MsCatConstructHashTag
|
||||
@ stub MsCatFreeHashTag
|
||||
|
|
|
@ -100,7 +100,7 @@ static BOOL WINAPI CRYPT_AsnEncodeOctets(DWORD dwCertEncodingType,
|
|||
DWORD *pcbEncoded)
|
||||
{
|
||||
BOOL ret = TRUE;
|
||||
const CRYPT_DATA_BLOB *blob = (const CRYPT_DATA_BLOB *)pvStructInfo;
|
||||
const CRYPT_DATA_BLOB *blob = pvStructInfo;
|
||||
DWORD bytesNeeded, lenBytes;
|
||||
|
||||
TRACE("(%d, %p), %p, %d\n", blob->cbData, blob->pbData, pbEncoded,
|
||||
|
@ -140,7 +140,7 @@ BOOL WINAPI WVTAsn1SpcLinkEncode(DWORD dwCertEncodingType,
|
|||
|
||||
__TRY
|
||||
{
|
||||
const SPC_LINK *link = (const SPC_LINK *)pvStructInfo;
|
||||
const SPC_LINK *link = pvStructInfo;
|
||||
DWORD bytesNeeded, lenBytes;
|
||||
|
||||
switch (link->dwLinkChoice)
|
||||
|
@ -352,7 +352,7 @@ static BOOL WINAPI CRYPT_AsnEncodeBits(DWORD dwCertEncodingType,
|
|||
|
||||
__TRY
|
||||
{
|
||||
const CRYPT_BIT_BLOB *blob = (const CRYPT_BIT_BLOB *)pvStructInfo;
|
||||
const CRYPT_BIT_BLOB *blob = pvStructInfo;
|
||||
DWORD bytesNeeded, lenBytes, dataBytes;
|
||||
BYTE unusedBits;
|
||||
|
||||
|
@ -426,8 +426,7 @@ static BOOL WINAPI CRYPT_AsnEncodeConstructed(DWORD dwCertEncodingType,
|
|||
DWORD *pcbEncoded)
|
||||
{
|
||||
BOOL ret;
|
||||
const struct AsnConstructedItem *item =
|
||||
(const struct AsnConstructedItem *)pvStructInfo;
|
||||
const struct AsnConstructedItem *item = pvStructInfo;
|
||||
DWORD len;
|
||||
|
||||
if ((ret = item->encodeFunc(dwCertEncodingType, lpszStructType,
|
||||
|
@ -473,8 +472,7 @@ BOOL WINAPI WVTAsn1SpcPeImageDataEncode(DWORD dwCertEncodingType,
|
|||
LPCSTR lpszStructType, const void *pvStructInfo, BYTE *pbEncoded,
|
||||
DWORD *pcbEncoded)
|
||||
{
|
||||
const SPC_PE_IMAGE_DATA *imageData =
|
||||
(const SPC_PE_IMAGE_DATA *)pvStructInfo;
|
||||
const SPC_PE_IMAGE_DATA *imageData = pvStructInfo;
|
||||
BOOL ret = FALSE;
|
||||
|
||||
TRACE("(0x%08x, %s, %p, %p, %p)\n", dwCertEncodingType,
|
||||
|
@ -519,7 +517,7 @@ static BOOL WINAPI CRYPT_AsnEncodeOid(DWORD dwCertEncodingType,
|
|||
LPCSTR lpszStructType, const void *pvStructInfo, BYTE *pbEncoded,
|
||||
DWORD *pcbEncoded)
|
||||
{
|
||||
LPCSTR pszObjId = (LPCSTR)pvStructInfo;
|
||||
LPCSTR pszObjId = pvStructInfo;
|
||||
DWORD bytesNeeded = 0, lenBytes;
|
||||
BOOL ret = TRUE;
|
||||
int firstPos = 0;
|
||||
|
@ -637,7 +635,7 @@ static BOOL WINAPI CRYPT_CopyEncodedBlob(DWORD dwCertEncodingType,
|
|||
LPCSTR lpszStructType, const void *pvStructInfo, BYTE *pbEncoded,
|
||||
DWORD *pcbEncoded)
|
||||
{
|
||||
const CRYPT_DER_BLOB *blob = (const CRYPT_DER_BLOB *)pvStructInfo;
|
||||
const CRYPT_DER_BLOB *blob = pvStructInfo;
|
||||
BOOL ret = TRUE;
|
||||
|
||||
if (!pbEncoded)
|
||||
|
@ -661,8 +659,7 @@ static BOOL WINAPI CRYPT_AsnEncodeAlgorithmIdWithNullParams(
|
|||
DWORD dwCertEncodingType, LPCSTR lpszStructType, const void *pvStructInfo,
|
||||
BYTE *pbEncoded, DWORD *pcbEncoded)
|
||||
{
|
||||
const CRYPT_ALGORITHM_IDENTIFIER *algo =
|
||||
(const CRYPT_ALGORITHM_IDENTIFIER *)pvStructInfo;
|
||||
const CRYPT_ALGORITHM_IDENTIFIER *algo = pvStructInfo;
|
||||
static const BYTE asn1Null[] = { ASN_NULL, 0 };
|
||||
static const CRYPT_DATA_BLOB nullBlob = { sizeof(asn1Null),
|
||||
(LPBYTE)asn1Null };
|
||||
|
@ -685,8 +682,7 @@ static BOOL WINAPI CRYPT_AsnEncodeAttributeTypeValue(DWORD dwCertEncodingType,
|
|||
LPCSTR lpszStructType, const void *pvStructInfo, BYTE *pbEncoded,
|
||||
DWORD *pcbEncoded)
|
||||
{
|
||||
const CRYPT_ATTRIBUTE_TYPE_VALUE *typeValue =
|
||||
(const CRYPT_ATTRIBUTE_TYPE_VALUE *)pvStructInfo;
|
||||
const CRYPT_ATTRIBUTE_TYPE_VALUE *typeValue = pvStructInfo;
|
||||
struct AsnEncodeSequenceItem items[] = {
|
||||
{ &typeValue->pszObjId, CRYPT_AsnEncodeOid, 0 },
|
||||
{ &typeValue->Value, CRYPT_CopyEncodedBlob, 0 },
|
||||
|
@ -706,7 +702,7 @@ static BOOL WINAPI CRYPT_AsnEncodeSPCDigest(DWORD dwCertEncodingType,
|
|||
LPCSTR lpszStructType, const void *pvStructInfo, BYTE *pbEncoded,
|
||||
DWORD *pcbEncoded)
|
||||
{
|
||||
const struct SPCDigest *digest = (const struct SPCDigest *)pvStructInfo;
|
||||
const struct SPCDigest *digest = pvStructInfo;
|
||||
struct AsnEncodeSequenceItem items[] = {
|
||||
{ &digest->DigestAlgorithm, CRYPT_AsnEncodeAlgorithmIdWithNullParams, 0 },
|
||||
{ &digest->Digest, CRYPT_CopyEncodedBlob, 0 },
|
||||
|
@ -727,8 +723,7 @@ BOOL WINAPI WVTAsn1SpcIndirectDataContentEncode(DWORD dwCertEncodingType,
|
|||
|
||||
__TRY
|
||||
{
|
||||
const SPC_INDIRECT_DATA_CONTENT *data =
|
||||
(const SPC_INDIRECT_DATA_CONTENT *)pvStructInfo;
|
||||
const SPC_INDIRECT_DATA_CONTENT *data = pvStructInfo;
|
||||
struct AsnEncodeSequenceItem items[] = {
|
||||
{ &data->Data, CRYPT_AsnEncodeAttributeTypeValue, 0 },
|
||||
{ &data->DigestAlgorithm, CRYPT_AsnEncodeSPCDigest, 0 },
|
||||
|
@ -750,7 +745,7 @@ static BOOL WINAPI CRYPT_AsnEncodeBMPString(DWORD dwCertEncodingType,
|
|||
DWORD *pcbEncoded)
|
||||
{
|
||||
BOOL ret = TRUE;
|
||||
LPCWSTR str = (LPCWSTR)pvStructInfo;
|
||||
LPCWSTR str = pvStructInfo;
|
||||
DWORD bytesNeeded, lenBytes, strLen;
|
||||
|
||||
if (str)
|
||||
|
@ -895,8 +890,7 @@ static BOOL CRYPT_AsnEncodeInteger(DWORD dwCertEncodingType,
|
|||
DWORD significantBytes, lenBytes, bytesNeeded;
|
||||
BYTE padByte = 0;
|
||||
BOOL pad = FALSE;
|
||||
const CRYPT_INTEGER_BLOB *blob =
|
||||
(const CRYPT_INTEGER_BLOB *)pvStructInfo;
|
||||
const CRYPT_INTEGER_BLOB *blob = pvStructInfo;
|
||||
|
||||
significantBytes = blob->cbData;
|
||||
if (significantBytes)
|
||||
|
@ -996,7 +990,7 @@ BOOL WINAPI WVTAsn1CatMemberInfoEncode(DWORD dwCertEncodingType,
|
|||
|
||||
__TRY
|
||||
{
|
||||
const CAT_MEMBERINFO *info = (const CAT_MEMBERINFO *)pvStructInfo;
|
||||
const CAT_MEMBERINFO *info = pvStructInfo;
|
||||
struct AsnEncodeSequenceItem items[] = {
|
||||
{ info->pwszSubjGuid, CRYPT_AsnEncodeBMPString, 0 },
|
||||
{ &info->dwCertVersion, CRYPT_AsnEncodeInt, 0 },
|
||||
|
@ -1024,7 +1018,7 @@ BOOL WINAPI WVTAsn1CatNameValueEncode(DWORD dwCertEncodingType,
|
|||
|
||||
__TRY
|
||||
{
|
||||
const CAT_NAMEVALUE *value = (const CAT_NAMEVALUE *)pvStructInfo;
|
||||
const CAT_NAMEVALUE *value = pvStructInfo;
|
||||
struct AsnEncodeSequenceItem items[] = {
|
||||
{ value->pwszTag, CRYPT_AsnEncodeBMPString, 0 },
|
||||
{ &value->fdwFlags, CRYPT_AsnEncodeInt, 0 },
|
||||
|
@ -1215,7 +1209,7 @@ static BOOL WINAPI CRYPT_AsnDecodeOctets(DWORD dwCertEncodingType,
|
|||
CRYPT_DATA_BLOB *blob;
|
||||
BYTE lenBytes = GET_LEN_BYTES(pbEncoded[1]);
|
||||
|
||||
blob = (CRYPT_DATA_BLOB *)pvStructInfo;
|
||||
blob = pvStructInfo;
|
||||
blob->cbData = dataLen;
|
||||
if (dwFlags & CRYPT_DECODE_NOCOPY_FLAG)
|
||||
blob->pbData = (BYTE *)pbEncoded + 1 + lenBytes;
|
||||
|
@ -1260,7 +1254,7 @@ static BOOL CRYPT_AsnDecodeSPCLinkInternal(DWORD dwCertEncodingType,
|
|||
}
|
||||
else
|
||||
{
|
||||
PSPC_LINK link = (PSPC_LINK)pvStructInfo;
|
||||
PSPC_LINK link = pvStructInfo;
|
||||
DWORD i;
|
||||
|
||||
link->dwLinkChoice = SPC_URL_LINK_CHOICE;
|
||||
|
@ -1309,7 +1303,7 @@ static BOOL CRYPT_AsnDecodeSPCLinkInternal(DWORD dwCertEncodingType,
|
|||
}
|
||||
else
|
||||
{
|
||||
PSPC_LINK link = (PSPC_LINK)pvStructInfo;
|
||||
PSPC_LINK link = pvStructInfo;
|
||||
|
||||
link->dwLinkChoice = SPC_MONIKER_LINK_CHOICE;
|
||||
/* pwszFile pointer was set by caller, copy it
|
||||
|
@ -1347,7 +1341,7 @@ static BOOL CRYPT_AsnDecodeSPCLinkInternal(DWORD dwCertEncodingType,
|
|||
}
|
||||
else
|
||||
{
|
||||
PSPC_LINK link = (PSPC_LINK)pvStructInfo;
|
||||
PSPC_LINK link = pvStructInfo;
|
||||
DWORD i;
|
||||
const BYTE *ptr = pbEncoded + 2 + lenBytes + realLenBytes;
|
||||
|
||||
|
@ -1372,7 +1366,7 @@ static BOOL CRYPT_AsnDecodeSPCLinkInternal(DWORD dwCertEncodingType,
|
|||
}
|
||||
else
|
||||
{
|
||||
PSPC_LINK link = (PSPC_LINK)pvStructInfo;
|
||||
PSPC_LINK link = pvStructInfo;
|
||||
|
||||
link->dwLinkChoice = SPC_FILE_LINK_CHOICE;
|
||||
link->u.pwszFile[0] = '\0';
|
||||
|
@ -1415,7 +1409,7 @@ BOOL WINAPI WVTAsn1SpcLinkDecode(DWORD dwCertEncodingType,
|
|||
}
|
||||
else
|
||||
{
|
||||
SPC_LINK *link = (SPC_LINK *)pvStructInfo;
|
||||
SPC_LINK *link = pvStructInfo;
|
||||
|
||||
link->u.pwszFile =
|
||||
(LPWSTR)((BYTE *)pvStructInfo + sizeof(SPC_LINK));
|
||||
|
@ -1655,7 +1649,7 @@ static BOOL CRYPT_AsnDecodeSequence(DWORD dwCertEncodingType,
|
|||
|
||||
*pcbStructInfo = bytesNeeded;
|
||||
if (startingPointer)
|
||||
nextData = (BYTE *)startingPointer;
|
||||
nextData = startingPointer;
|
||||
else
|
||||
nextData = (BYTE *)pvStructInfo + structSize;
|
||||
memset(pvStructInfo, 0, structSize);
|
||||
|
@ -1706,7 +1700,7 @@ static BOOL WINAPI CRYPT_AsnDecodeBitsInternal(DWORD dwCertEncodingType,
|
|||
{
|
||||
CRYPT_BIT_BLOB *blob;
|
||||
|
||||
blob = (CRYPT_BIT_BLOB *)pvStructInfo;
|
||||
blob = pvStructInfo;
|
||||
blob->cbData = dataLen - 1;
|
||||
blob->cUnusedBits = *(pbEncoded + 1 +
|
||||
GET_LEN_BYTES(pbEncoded[1]));
|
||||
|
@ -1750,7 +1744,7 @@ static BOOL WINAPI CRYPT_AsnDecodeSPCLinkPointer(DWORD dwCertEncodingType,
|
|||
{
|
||||
BYTE lenBytes = GET_LEN_BYTES(pbEncoded[1]);
|
||||
DWORD size;
|
||||
SPC_LINK **pLink = (SPC_LINK **)pvStructInfo;
|
||||
SPC_LINK **pLink = pvStructInfo;
|
||||
|
||||
ret = CRYPT_AsnDecodeSPCLinkInternal(dwCertEncodingType, lpszStructType,
|
||||
pbEncoded + 1 + lenBytes, dataLen, dwFlags, NULL, &size);
|
||||
|
@ -1959,7 +1953,7 @@ static BOOL WINAPI CRYPT_AsnDecodeCopyBytes(DWORD dwCertEncodingType,
|
|||
}
|
||||
else
|
||||
{
|
||||
PCRYPT_OBJID_BLOB blob = (PCRYPT_OBJID_BLOB)pvStructInfo;
|
||||
PCRYPT_OBJID_BLOB blob = pvStructInfo;
|
||||
|
||||
*pcbStructInfo = bytesNeeded;
|
||||
blob->cbData = cbEncoded;
|
||||
|
@ -1978,8 +1972,7 @@ static BOOL WINAPI CRYPT_AsnDecodeAttributeTypeValue(DWORD dwCertEncodingType,
|
|||
LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags,
|
||||
void *pvStructInfo, DWORD *pcbStructInfo)
|
||||
{
|
||||
CRYPT_ATTRIBUTE_TYPE_VALUE *typeValue =
|
||||
(CRYPT_ATTRIBUTE_TYPE_VALUE *)pvStructInfo;
|
||||
CRYPT_ATTRIBUTE_TYPE_VALUE *typeValue = pvStructInfo;
|
||||
struct AsnDecodeSequenceItem items[] = {
|
||||
{ ASN_OBJECTIDENTIFIER, offsetof(CRYPT_ATTRIBUTE_TYPE_VALUE, pszObjId),
|
||||
CRYPT_AsnDecodeOid, sizeof(LPSTR), FALSE, TRUE,
|
||||
|
@ -2002,8 +1995,7 @@ static BOOL WINAPI CRYPT_AsnDecodeAlgorithmId(DWORD dwCertEncodingType,
|
|||
LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags,
|
||||
void *pvStructInfo, DWORD *pcbStructInfo)
|
||||
{
|
||||
CRYPT_ALGORITHM_IDENTIFIER *algo =
|
||||
(CRYPT_ALGORITHM_IDENTIFIER *)pvStructInfo;
|
||||
CRYPT_ALGORITHM_IDENTIFIER *algo = pvStructInfo;
|
||||
BOOL ret = TRUE;
|
||||
struct AsnDecodeSequenceItem items[] = {
|
||||
{ ASN_OBJECTIDENTIFIER, offsetof(CRYPT_ALGORITHM_IDENTIFIER, pszObjId),
|
||||
|
@ -2032,8 +2024,7 @@ static BOOL WINAPI CRYPT_AsnDecodeSPCDigest(DWORD dwCertEncodingType,
|
|||
LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags,
|
||||
void *pvStructInfo, DWORD *pcbStructInfo)
|
||||
{
|
||||
struct SPCDigest *digest =
|
||||
(struct SPCDigest *)pvStructInfo;
|
||||
struct SPCDigest *digest = pvStructInfo;
|
||||
struct AsnDecodeSequenceItem items[] = {
|
||||
{ ASN_SEQUENCEOF, offsetof(struct SPCDigest, DigestAlgorithm),
|
||||
CRYPT_AsnDecodeAlgorithmId, sizeof(CRYPT_ALGORITHM_IDENTIFIER),
|
||||
|
@ -2156,7 +2147,7 @@ static BOOL CRYPT_AsnDecodeInteger(const BYTE *pbEncoded,
|
|||
}
|
||||
else
|
||||
{
|
||||
CRYPT_INTEGER_BLOB *blob = (CRYPT_INTEGER_BLOB *)pvStructInfo;
|
||||
CRYPT_INTEGER_BLOB *blob = pvStructInfo;
|
||||
|
||||
*pcbStructInfo = bytesNeeded;
|
||||
blob->cbData = dataLen;
|
||||
|
|
|
@ -188,6 +188,8 @@ HCATINFO WINAPI CryptCATAdminAddCatalog(HCATADMIN catAdmin, PWSTR catalogFile,
|
|||
HeapFree(GetProcessHeap(), 0, target);
|
||||
return NULL;
|
||||
}
|
||||
SetFileAttributesW(target, FILE_ATTRIBUTE_SYSTEM);
|
||||
|
||||
if (!(ci = HeapAlloc(GetProcessHeap(), 0, sizeof(*ci))))
|
||||
{
|
||||
HeapFree(GetProcessHeap(), 0, target);
|
||||
|
@ -961,6 +963,54 @@ BOOL WINAPI CryptSIPCreateIndirectData(SIP_SUBJECTINFO* pSubjectInfo, DWORD* pcb
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* CryptCATCDFClose (WINTRUST.@)
|
||||
*/
|
||||
BOOL WINAPI CryptCATCDFClose(CRYPTCATCDF *pCDF)
|
||||
{
|
||||
FIXME("(%p) stub\n", pCDF);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* CryptCATCDFEnumCatAttributes (WINTRUST.@)
|
||||
*/
|
||||
CRYPTCATATTRIBUTE * WINAPI CryptCATCDFEnumCatAttributes(CRYPTCATCDF *pCDF,
|
||||
CRYPTCATATTRIBUTE *pPrevAttr,
|
||||
PFN_CDF_PARSE_ERROR_CALLBACK pfnParseError)
|
||||
{
|
||||
FIXME("(%p %p %p) stub\n", pCDF, pPrevAttr, pfnParseError);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* CryptCATCDFEnumMembersByCDFTagEx (WINTRUST.@)
|
||||
*/
|
||||
LPWSTR WINAPI CryptCATCDFEnumMembersByCDFTagEx(CRYPTCATCDF *pCDF, LPWSTR pwszPrevCDFTag,
|
||||
PFN_CDF_PARSE_ERROR_CALLBACK pfnParseError,
|
||||
CRYPTCATMEMBER **ppMember, BOOL fContinueOnError,
|
||||
LPVOID pvReserved)
|
||||
{
|
||||
FIXME("(%p %s %p %p %d %p) stub\n", pCDF, debugstr_w(pwszPrevCDFTag), pfnParseError,
|
||||
ppMember, fContinueOnError, pvReserved);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* CryptCATCDFOpen (WINTRUST.@)
|
||||
*/
|
||||
CRYPTCATCDF * WINAPI CryptCATCDFOpen(LPWSTR pwszFilePath,
|
||||
PFN_CDF_PARSE_ERROR_CALLBACK pfnParseError)
|
||||
{
|
||||
FIXME("(%s %p) stub\n", debugstr_w(pwszFilePath), pfnParseError);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static BOOL WINTRUST_GetSignedMsgFromPEFile(SIP_SUBJECTINFO *pSubjectInfo,
|
||||
DWORD *pdwEncodingType, DWORD dwIndex, DWORD *pcbSignedDataMsg,
|
||||
BYTE *pbSignedDataMsg)
|
||||
|
|
|
@ -795,7 +795,7 @@ HRESULT WINAPI GenericChainCertificateTrust(CRYPT_PROVIDER_DATA *data)
|
|||
{
|
||||
BOOL ret;
|
||||
WTD_GENERIC_CHAIN_POLICY_DATA *policyData =
|
||||
(WTD_GENERIC_CHAIN_POLICY_DATA *)data->pWintrustData->pPolicyCallbackData;
|
||||
data->pWintrustData->pPolicyCallbackData;
|
||||
|
||||
TRACE("(%p)\n", data);
|
||||
|
||||
|
@ -961,7 +961,7 @@ HRESULT WINAPI GenericChainFinalProv(CRYPT_PROVIDER_DATA *data)
|
|||
{
|
||||
HRESULT err = NO_ERROR; /* not a typo, MS confused the types */
|
||||
WTD_GENERIC_CHAIN_POLICY_DATA *policyData =
|
||||
(WTD_GENERIC_CHAIN_POLICY_DATA *)data->pWintrustData->pPolicyCallbackData;
|
||||
data->pWintrustData->pPolicyCallbackData;
|
||||
|
||||
TRACE("(%p)\n", data);
|
||||
|
||||
|
|
|
@ -9,14 +9,14 @@
|
|||
@ stdcall CryptCATAdminReleaseContext(long long)
|
||||
@ stdcall CryptCATAdminRemoveCatalog(ptr wstr long)
|
||||
@ stdcall CryptCATAdminResolveCatalogPath(ptr wstr ptr long)
|
||||
@ stub CryptCATCDFClose
|
||||
@ stdcall CryptCATCDFClose(ptr)
|
||||
@ stub CryptCATCDFEnumAttributes
|
||||
@ stub CryptCATCDFEnumAttributesWithCDFTag
|
||||
@ stub CryptCATCDFEnumCatAttributes
|
||||
@ stdcall CryptCATCDFEnumCatAttributes(ptr ptr ptr)
|
||||
@ stub CryptCATCDFEnumMembers
|
||||
@ stub CryptCATCDFEnumMembersByCDFTag
|
||||
@ stub CryptCATCDFEnumMembersByCDFTagEx
|
||||
@ stub CryptCATCDFOpen
|
||||
@ stdcall CryptCATCDFEnumMembersByCDFTagEx(ptr wstr ptr ptr long ptr)
|
||||
@ stdcall CryptCATCDFOpen(wstr ptr)
|
||||
@ stdcall CryptCATCatalogInfoFromContext(ptr ptr long)
|
||||
@ stdcall CryptCATClose(long)
|
||||
@ stdcall CryptCATEnumerateAttr(ptr ptr ptr)
|
||||
|
|
|
@ -184,7 +184,7 @@ static LONG WINTRUST_DefaultVerify(HWND hwnd, GUID *actionID,
|
|||
goto error;
|
||||
}
|
||||
|
||||
data->hWVTStateData = (HANDLE)provData;
|
||||
data->hWVTStateData = provData;
|
||||
provData->pWintrustData = data;
|
||||
if (hwnd == INVALID_HANDLE_VALUE)
|
||||
provData->hWndParent = GetDesktopWindow();
|
||||
|
@ -215,7 +215,7 @@ static LONG WINTRUST_DefaultClose(HWND hwnd, GUID *actionID,
|
|||
WINTRUST_DATA *data)
|
||||
{
|
||||
DWORD err = ERROR_SUCCESS;
|
||||
CRYPT_PROVIDER_DATA *provData = (CRYPT_PROVIDER_DATA *)data->hWVTStateData;
|
||||
CRYPT_PROVIDER_DATA *provData = data->hWVTStateData;
|
||||
|
||||
TRACE("(%p, %s, %p)\n", hwnd, debugstr_guid(actionID), data);
|
||||
|
||||
|
@ -254,8 +254,7 @@ static LONG WINTRUST_PublishedSoftware(HWND hwnd, GUID *actionID,
|
|||
/* Undocumented: the published software action is passed a path,
|
||||
* and pSIPClientData points to a WIN_TRUST_SUBJECT_FILE.
|
||||
*/
|
||||
LPWIN_TRUST_SUBJECT_FILE subjectFile =
|
||||
(LPWIN_TRUST_SUBJECT_FILE)data->pSIPClientData;
|
||||
LPWIN_TRUST_SUBJECT_FILE subjectFile = data->pSIPClientData;
|
||||
WINTRUST_FILE_INFO fileInfo = { sizeof(fileInfo), 0 };
|
||||
|
||||
TRACE("subjectFile->hFile: %p\n", subjectFile->hFile);
|
||||
|
@ -377,7 +376,7 @@ static LONG WINTRUST_CertVerify(HWND hwnd, GUID *actionID,
|
|||
/* Not sure why, but native skips the policy check */
|
||||
provData->psPfns->pfnCertCheckPolicy = NULL;
|
||||
|
||||
data->hWVTStateData = (HANDLE)provData;
|
||||
data->hWVTStateData = provData;
|
||||
provData->pWintrustData = data;
|
||||
if (hwnd == INVALID_HANDLE_VALUE)
|
||||
provData->hWndParent = GetDesktopWindow();
|
||||
|
@ -584,7 +583,7 @@ LONG WINAPI WinVerifyTrust( HWND hwnd, GUID *ActionID, LPVOID ActionData )
|
|||
static const GUID generic_chain_verify = WINTRUST_ACTION_GENERIC_CHAIN_VERIFY;
|
||||
static const GUID cert_action_verify = CERT_CERTIFICATE_ACTION_VERIFY;
|
||||
LONG err = ERROR_SUCCESS;
|
||||
WINTRUST_DATA *actionData = (WINTRUST_DATA *)ActionData;
|
||||
WINTRUST_DATA *actionData = ActionData;
|
||||
|
||||
TRACE("(%p, %s, %p)\n", hwnd, debugstr_guid(ActionID), ActionData);
|
||||
dump_wintrust_data(ActionData);
|
||||
|
@ -709,7 +708,7 @@ CRYPT_PROVIDER_PRIVDATA *WINAPI WTHelperGetProvPrivateDataFromChain(
|
|||
CRYPT_PROVIDER_DATA * WINAPI WTHelperProvDataFromStateData(HANDLE hStateData)
|
||||
{
|
||||
TRACE("%p\n", hStateData);
|
||||
return (CRYPT_PROVIDER_DATA *)hStateData;
|
||||
return hStateData;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
|
@ -738,7 +737,7 @@ HANDLE WINAPI WTHelperGetFileHandle(WINTRUST_DATA *data)
|
|||
|
||||
static BOOL WINAPI WINTRUST_enumUsages(PCCRYPT_OID_INFO pInfo, void *pvArg)
|
||||
{
|
||||
PCCRYPT_OID_INFO **usages = (PCCRYPT_OID_INFO **)pvArg;
|
||||
PCCRYPT_OID_INFO **usages = pvArg;
|
||||
DWORD cUsages;
|
||||
BOOL ret;
|
||||
|
||||
|
@ -756,7 +755,7 @@ static BOOL WINAPI WINTRUST_enumUsages(PCCRYPT_OID_INFO pInfo, void *pvArg)
|
|||
*/
|
||||
for (cUsages = 0, ptr = *usages; *ptr; ptr++, cUsages++)
|
||||
;
|
||||
*usages = WINTRUST_ReAlloc((CRYPT_OID_INFO *)*usages,
|
||||
*usages = WINTRUST_ReAlloc(*usages,
|
||||
(cUsages + 2) * sizeof(PCCRYPT_OID_INFO));
|
||||
}
|
||||
if (*usages)
|
||||
|
@ -809,7 +808,7 @@ BOOL WINAPI WTHelperGetKnownUsages(DWORD action, PCCRYPT_OID_INFO **usages)
|
|||
}
|
||||
else if (action == 2)
|
||||
{
|
||||
WINTRUST_Free((CRYPT_OID_INFO *)*usages);
|
||||
WINTRUST_Free(*usages);
|
||||
*usages = NULL;
|
||||
ret = TRUE;
|
||||
}
|
||||
|
|
|
@ -28,16 +28,46 @@ typedef HANDLE HCATINFO;
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define CRYPTCAT_OPEN_CREATENEW 0x00000001
|
||||
#define CRYPTCAT_OPEN_ALWAYS 0x00000002
|
||||
#define CRYPTCAT_OPEN_EXISTING 0x00000004
|
||||
#define CRYPTCAT_OPEN_EXCLUDE_PAGE_HASHES 0x00010000
|
||||
#define CRYPTCAT_OPEN_INCLUDE_PAGE_HASHES 0x00020000
|
||||
#define CRYPTCAT_OPEN_VERIFYSIGHASH 0x10000000
|
||||
#define CRYPTCAT_OPEN_NO_CONTENT_HCRYPTMSG 0x20000000
|
||||
#define CRYPTCAT_OPEN_SORTED 0x40000000
|
||||
#define CRYPTCAT_OPEN_FLAGS_MASK 0xffff0000
|
||||
|
||||
#define CRYPTCAT_OPEN_CREATENEW 1
|
||||
#define CRYPTCAT_OPEN_ALWAYS 2
|
||||
#define CRYPTCAT_OPEN_EXISTING 4
|
||||
#define CRYPTCAT_E_AREA_HEADER 0x00000000
|
||||
#define CRYPTCAT_E_AREA_MEMBER 0x00010000
|
||||
#define CRYPTCAT_E_AREA_ATTRIBUTE 0x00020000
|
||||
|
||||
#define CRYPTCAT_E_CDF_UNSUPPORTED 0x00000001
|
||||
#define CRYPTCAT_E_CDF_DUPLICATE 0x00000002
|
||||
#define CRYPTCAT_E_CDF_TAGNOTFOUND 0x00000004
|
||||
|
||||
#define CRYPTCAT_E_CDF_MEMBER_FILE_PATH 0x00010001
|
||||
#define CRYPTCAT_E_CDF_MEMBER_INDIRECTDATA 0x00010002
|
||||
#define CRYPTCAT_E_CDF_MEMBER_FILENOTFOUND 0x00010004
|
||||
|
||||
#define CRYPTCAT_E_CDF_BAD_GUID_CONV 0x00020001
|
||||
#define CRYPTCAT_E_CDF_ATTR_TOOFEWVALUES 0x00020002
|
||||
#define CRYPTCAT_E_CDF_ATTR_TYPECOMBO 0x00020004
|
||||
|
||||
#include <pshpack8.h>
|
||||
|
||||
typedef struct CRYPTCATMEMBER_ {
|
||||
typedef struct CRYPTCATATTRIBUTE_
|
||||
{
|
||||
DWORD cbStruct;
|
||||
LPWSTR pwszReferenceTag;
|
||||
DWORD dwAttrTypeAndAction;
|
||||
DWORD cbValue;
|
||||
BYTE *pbValue;
|
||||
DWORD dwReserved;
|
||||
} CRYPTCATATTRIBUTE;
|
||||
|
||||
typedef struct CRYPTCATMEMBER_
|
||||
{
|
||||
DWORD cbStruct;
|
||||
LPWSTR pwszReferenceTag;
|
||||
LPWSTR pwszFileName;
|
||||
|
@ -51,25 +81,27 @@ typedef struct CRYPTCATMEMBER_ {
|
|||
CRYPT_ATTR_BLOB sEncodedMemberInfo;
|
||||
} CRYPTCATMEMBER;
|
||||
|
||||
typedef struct CRYPTCATATTRIBUTE_
|
||||
{
|
||||
DWORD cbStruct;
|
||||
LPWSTR pwszReferenceTag;
|
||||
DWORD dwAttrTypeAndAction;
|
||||
DWORD cbValue;
|
||||
BYTE *pbValue;
|
||||
DWORD dwReserved;
|
||||
}CRYPTCATATTRIBUTE;
|
||||
|
||||
typedef struct CATALOG_INFO_
|
||||
typedef struct CATALOG_INFO_
|
||||
{
|
||||
DWORD cbStruct;
|
||||
WCHAR wszCatalogFile[MAX_PATH];
|
||||
} CATALOG_INFO;
|
||||
|
||||
typedef struct CRYPTCATCDF_
|
||||
{
|
||||
DWORD cbStruct;
|
||||
HANDLE hFile;
|
||||
DWORD dwCurFilePos;
|
||||
DWORD dwLastMemberOffset;
|
||||
BOOL fEOF;
|
||||
LPWSTR pwszResultDir;
|
||||
HANDLE hCATStore;
|
||||
} CRYPTCATCDF;
|
||||
|
||||
#include <poppack.h>
|
||||
|
||||
typedef void (WINAPI *PFN_CDF_PARSE_ERROR_CALLBACK)(DWORD, DWORD, WCHAR *);
|
||||
|
||||
BOOL WINAPI CryptCATAdminAcquireContext(HCATADMIN*,const GUID*,DWORD);
|
||||
HCATINFO WINAPI CryptCATAdminAddCatalog(HCATADMIN,PWSTR,PWSTR,DWORD);
|
||||
BOOL WINAPI CryptCATAdminCalcHashFromFileHandle(HANDLE,DWORD*,BYTE*,DWORD);
|
||||
|
@ -77,13 +109,23 @@ HCATINFO WINAPI CryptCATAdminEnumCatalogFromHash(HCATADMIN,BYTE*,DWORD,DWORD,HC
|
|||
BOOL WINAPI CryptCATAdminReleaseCatalogContext(HCATADMIN,HCATINFO,DWORD);
|
||||
BOOL WINAPI CryptCATAdminReleaseContext(HCATADMIN,DWORD);
|
||||
BOOL WINAPI CryptCATAdminRemoveCatalog(HCATADMIN,LPCWSTR,DWORD);
|
||||
BOOL WINAPI CryptCATClose(HANDLE);
|
||||
BOOL WINAPI CryptCATCatalogInfoFromContext(HCATINFO,CATALOG_INFO*,DWORD);
|
||||
|
||||
CRYPTCATMEMBER* WINAPI CryptCATEnumerateMember(HANDLE,CRYPTCATMEMBER*);
|
||||
BOOL WINAPI CryptCATAdminResolveCatalogPath(HCATADMIN, WCHAR *, CATALOG_INFO *, DWORD);
|
||||
BOOL WINAPI CryptCATCatalogInfoFromContext(HCATINFO, CATALOG_INFO *, DWORD);
|
||||
BOOL WINAPI CryptCATCDFClose(CRYPTCATCDF *);
|
||||
CRYPTCATATTRIBUTE * WINAPI CryptCATCDFEnumCatAttributes(CRYPTCATCDF *, CRYPTCATATTRIBUTE *,
|
||||
PFN_CDF_PARSE_ERROR_CALLBACK);
|
||||
LPWSTR WINAPI CryptCATCDFEnumMembersByCDFTagEx(CRYPTCATCDF *, LPWSTR,
|
||||
PFN_CDF_PARSE_ERROR_CALLBACK,
|
||||
CRYPTCATMEMBER **, BOOL, LPVOID);
|
||||
CRYPTCATCDF * WINAPI CryptCATCDFOpen(LPWSTR, PFN_CDF_PARSE_ERROR_CALLBACK);
|
||||
BOOL WINAPI CryptCATClose(HANDLE);
|
||||
CRYPTCATATTRIBUTE * WINAPI CryptCATEnumerateAttr(HANDLE, CRYPTCATMEMBER *, CRYPTCATATTRIBUTE *);
|
||||
CRYPTCATATTRIBUTE * WINAPI CryptCATEnumerateCatAttr(HANDLE, CRYPTCATATTRIBUTE *);
|
||||
CRYPTCATMEMBER * WINAPI CryptCATEnumerateMember(HANDLE,CRYPTCATMEMBER *);
|
||||
CRYPTCATATTRIBUTE * WINAPI CryptCATGetAttrInfo(HANDLE, CRYPTCATMEMBER *, LPWSTR);
|
||||
CRYPTCATATTRIBUTE * WINAPI CryptCATGetCatAttrInfo(HANDLE, LPWSTR);
|
||||
CRYPTCATMEMBER * WINAPI CryptCATGetMemberInfo(HANDLE, LPWSTR);
|
||||
HANDLE WINAPI CryptCATOpen(LPWSTR,DWORD,HCRYPTPROV,DWORD,DWORD);
|
||||
CRYPTCATATTRIBUTE* WINAPI CryptCATEnumerateAttr(HANDLE hCatalog, CRYPTCATMEMBER*,CRYPTCATATTRIBUTE*);
|
||||
CRYPTCATATTRIBUTE* WINAPI CryptCATEnumerateCatAttr(HANDLE,CRYPTCATATTRIBUTE*);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue