2 * Copyright 2001 Rein Klazes
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
32 #include "wine/debug.h"
34 WINE_DEFAULT_DEBUG_CHANNEL(wintrust);
37 /***********************************************************************
38 * DllMain (WINTRUST.@)
40 BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved )
44 case DLL_WINE_PREATTACH:
45 return FALSE; /* prefer native version */
46 case DLL_PROCESS_ATTACH:
47 DisableThreadLibraryCalls( inst );
53 /***********************************************************************
54 * CryptCATAdminAcquireContext (WINTRUST.@)
56 BOOL WINAPI CryptCATAdminAcquireContext(HCATADMIN* catAdmin,
57 const GUID *sysSystem, DWORD dwFlags )
59 FIXME("%p %s %lx\n", catAdmin, debugstr_guid(sysSystem), dwFlags);
60 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
64 /***********************************************************************
65 * CryptCATAdminCalcHashFromFileHandle (WINTRUST.@)
67 BOOL WINAPI CryptCATAdminCalcHashFromFileHandle(HANDLE hFile, DWORD* pcbHash,
68 BYTE* pbHash, DWORD dwFlags )
70 FIXME("%p %p %p %lx\n", hFile, pcbHash, pbHash, dwFlags);
71 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
75 /***********************************************************************
76 * CryptCATAdminReleaseContext (WINTRUST.@)
78 BOOL WINAPI CryptCATAdminReleaseContext(HCATADMIN hCatAdmin, DWORD dwFlags )
80 FIXME("%p %lx\n", hCatAdmin, dwFlags);
81 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
85 /***********************************************************************
86 * TrustIsCertificateSelfSigned (WINTRUST.@)
88 BOOL WINAPI TrustIsCertificateSelfSigned( PCCERT_CONTEXT cert )
93 ret = CertCompareCertificateName(cert->dwCertEncodingType,
94 &cert->pCertInfo->Subject, &cert->pCertInfo->Issuer);
98 /***********************************************************************
99 * WinVerifyTrust (WINTRUST.@)
101 LONG WINAPI WinVerifyTrust( HWND hwnd, GUID *ActionID, WINTRUST_DATA* ActionData )
103 static const GUID gen_verify_v2 = WINTRUST_ACTION_GENERIC_VERIFY_V2;
105 FIXME("%p %s %p\n", hwnd, debugstr_guid(ActionID), ActionData);
107 /* Trust providers can be found at:
108 * HKLM\SOFTWARE\Microsoft\Cryptography\Providers\Trust\CertCheck\
110 * Process Explorer expects a correct implementation, so we
111 * return TRUST_E_PROVIDER_UNKNOWN.
113 * Girotel needs ERROR_SUCCESS.
115 * For now return TRUST_E_PROVIDER_UNKNOWN only when
116 * ActionID = WINTRUST_ACTION_GENERIC_VERIFY_V2.
120 if (IsEqualCLSID(ActionID, &gen_verify_v2))
121 return TRUST_E_PROVIDER_UNKNOWN;
123 return ERROR_SUCCESS;
126 /***********************************************************************
127 * WinVerifyTrustEx (WINTRUST.@)
129 HRESULT WINAPI WinVerifyTrustEx( HWND hwnd, GUID *ActionID,
130 WINTRUST_DATA* ActionData )
132 FIXME("%p %s %p\n", hwnd, debugstr_guid(ActionID), ActionData);
136 /***********************************************************************
137 * WTHelperGetProvSignerFromChain (WINTRUST.@)
139 CRYPT_PROVIDER_SGNR * WINAPI WTHelperGetProvSignerFromChain(
140 CRYPT_PROVIDER_DATA *pProvData, DWORD idxSigner, BOOL fCounterSigner,
141 DWORD idxCounterSigner)
143 FIXME("%p %ld %d %ld\n", pProvData, idxSigner, fCounterSigner,
148 /***********************************************************************
149 * WTHelperProvDataFromStateData (WINTRUST.@)
151 CRYPT_PROVIDER_DATA * WINAPI WTHelperProvDataFromStateData(HANDLE hStateData)
153 FIXME("%p\n", hStateData);
157 /***********************************************************************
158 * WintrustAddActionID (WINTRUST.@)
160 BOOL WINAPI WintrustAddActionID( GUID* pgActionID, DWORD fdwFlags,
161 CRYPT_REGISTER_ACTIONID* psProvInfo)
163 FIXME("%p %lx %p\n", pgActionID, fdwFlags, psProvInfo);
164 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
168 /***********************************************************************
169 * WintrustGetRegPolicyFlags (WINTRUST.@)
171 void WINAPI WintrustGetRegPolicyFlags( DWORD* pdwPolicyFlags )
173 FIXME("%p\n", pdwPolicyFlags);
177 /***********************************************************************
178 * WintrustSetRegPolicyFlags (WINTRUST.@)
180 BOOL WINAPI WintrustSetRegPolicyFlags( DWORD dwPolicyFlags)
182 FIXME("stub: %lx\n", dwPolicyFlags);
186 /***********************************************************************
187 * DllRegisterServer (WINTRUST.@)
189 HRESULT WINAPI DllRegisterServer(void)
195 /***********************************************************************
196 * DllUnregisterServer (WINTRUST.@)
198 HRESULT WINAPI DllUnregisterServer(void)