[wintrust 1/8] Register WIN_SPUB_ACTION_PUBLISHED_SOFTWARE

Paul Vriens Paul.Vriens at xs4all.nl
Tue Sep 5 13:37:39 CDT 2006


Hi,

first patch of 8 to add several Trust Provider to the registry. I've decided
to have a function for every Trust Provider instead of grouping common stuff
together as this can change. The MSDN pages for wintrust seem to be changing
a lot lately.

Once the last registration patch is done (and that will take another week or
so) I'll cleanup up the unnecessary comments and TRACE's.

Changelog
  Register WIN_SPUB_ACTION_PUBLISHED_SOFTWARE

Cheers,

Paul.
---
 dlls/wintrust/register.c |   33 ++++++++++++++++++++++++++++++++-
 1 files changed, 32 insertions(+), 1 deletions(-)

diff --git a/dlls/wintrust/register.c b/dlls/wintrust/register.c
index a579901..f18042a 100644
--- a/dlls/wintrust/register.c
+++ b/dlls/wintrust/register.c
@@ -399,6 +399,36 @@ static void WINTRUST_RegisterGenVerifyV2
     WINTRUST_WriteProviderToReg(GuidString, Cleanup       , SoftpubCleanup);
 }
 
+/***************************************************************************
+ *              WINTRUST_RegisterPublishedSoftware
+ *
+ * Register WIN_SPUB_ACTION_PUBLISHED_SOFTWARE actions and usages.
+ *
+ * NOTES
+ *   WIN_SPUB_ACTION_PUBLISHED_SOFTWARE ({64B9D180-8DA2-11CF-8736-00AA00A485EB})
+ *   is defined in wintrust.h
+ *   We don't care about failures (see comments in DllRegisterServer)
+ */
+static void WINTRUST_RegisterPublishedSoftware(void)
+{
+    GUID ProvGUID;
+    WCHAR GuidString[39];
+
+    ProvGUID = (GUID)WIN_SPUB_ACTION_PUBLISHED_SOFTWARE;
+    WINTRUST_Guid2Wstr(&ProvGUID , GuidString);
+
+    TRACE("Going to register WIN_SPUB_ACTION_PUBLISHED_SOFTWARE : %s\n", wine_dbgstr_w(GuidString));
+
+    /* HKLM\Software\Microsoft\Cryptography\Trust\Provider\*\{64B9D180-8DA2-11CF-8736-00AA00A485EB} */
+    WINTRUST_WriteProviderToReg(GuidString, Initialization, SoftpubInitialization);
+    WINTRUST_WriteProviderToReg(GuidString, Message       , SoftpubMessage);
+    WINTRUST_WriteProviderToReg(GuidString, Signature     , SoftpubSignature);
+    WINTRUST_WriteProviderToReg(GuidString, Certificate   , SoftpubCertficate);
+    WINTRUST_WriteProviderToReg(GuidString, CertCheck     , SoftpubCertCheck);
+    WINTRUST_WriteProviderToReg(GuidString, FinalPolicy   , SoftpubFinalPolicy);
+    WINTRUST_WriteProviderToReg(GuidString, Cleanup       , SoftpubCleanup);
+}
+
 /***********************************************************************
  *              DllRegisterServer (WINTRUST.@)
  */
@@ -435,8 +465,9 @@ HRESULT WINAPI DllRegisterServer(void)
         Res = S_FALSE;
     RegCloseKey(Key);
 
-    /* Register WINTRUST_ACTION_GENERIC_VERIFY_V2 */
+    /* Register several Trust Provider actions */
     WINTRUST_RegisterGenVerifyV2();
+    WINTRUST_RegisterPublishedSoftware();
 
     /* Free the registry structures */
     WINTRUST_FreeRegStructs();
-- 
1.4.1.1




More information about the wine-patches mailing list