Paul Vriens : wintrust: Register OFFICESIGN_ACTION_VERIFY.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Sep 7 07:12:12 CDT 2006


Module: wine
Branch: master
Commit: e47bf4965e667e00130c394cf7c6d4cb0d4b0986
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=e47bf4965e667e00130c394cf7c6d4cb0d4b0986

Author: Paul Vriens <Paul.Vriens at xs4all.nl>
Date:   Tue Sep  5 20:38:15 2006 +0200

wintrust: Register OFFICESIGN_ACTION_VERIFY.

---

 dlls/wintrust/register.c |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/dlls/wintrust/register.c b/dlls/wintrust/register.c
index 0c7b7a2..aeb2897 100644
--- a/dlls/wintrust/register.c
+++ b/dlls/wintrust/register.c
@@ -50,6 +50,9 @@ static CRYPT_TRUST_REG_ENTRY SoftpubDump
 static CRYPT_TRUST_REG_ENTRY HTTPSCertificateTrust;
 static CRYPT_TRUST_REG_ENTRY HTTPSFinalProv;
 
+static CRYPT_TRUST_REG_ENTRY OfficeInitializePolicy;
+static CRYPT_TRUST_REG_ENTRY OfficeCleanupPolicy;
+
 static const WCHAR Trust[]            = {'S','o','f','t','w','a','r','e','\\',
                                          'M','i','c','r','o','s','o','f','t','\\',
                                          'C','r','y','p','t','o','g','r','a','p','h','y','\\',
@@ -94,6 +97,8 @@ #define WINTRUST_INITREGENTRY( action, d
     WINTRUST_INITREGENTRY(SoftpubDumpStructure, SP_POLICY_PROVIDER_DLL_NAME, SP_TESTDUMPPOLICY_FUNCTION_TEST)
     WINTRUST_INITREGENTRY(HTTPSCertificateTrust, SP_POLICY_PROVIDER_DLL_NAME, HTTPS_CERTTRUST_FUNCTION)
     WINTRUST_INITREGENTRY(HTTPSFinalProv, SP_POLICY_PROVIDER_DLL_NAME, HTTPS_FINALPOLICY_FUNCTION)
+    WINTRUST_INITREGENTRY(OfficeInitializePolicy, OFFICE_POLICY_PROVIDER_DLL_NAME, OFFICE_INITPROV_FUNCTION)
+    WINTRUST_INITREGENTRY(OfficeCleanupPolicy, OFFICE_POLICY_PROVIDER_DLL_NAME, OFFICE_CLEANUPPOLICY_FUNCTION)
 
 #undef WINTRUST_INITREGENTRY
 }
@@ -121,6 +126,8 @@ #define WINTRUST_FREEREGENTRY( action ) 
     WINTRUST_FREEREGENTRY(SoftpubDumpStructure);
     WINTRUST_FREEREGENTRY(HTTPSCertificateTrust);
     WINTRUST_FREEREGENTRY(HTTPSFinalProv);
+    WINTRUST_FREEREGENTRY(OfficeInitializePolicy);
+    WINTRUST_FREEREGENTRY(OfficeCleanupPolicy);
 
 #undef WINTRUST_FREEREGENTRY
 }
@@ -587,6 +594,34 @@ static void WINTRUST_RegisterHttpsProv(v
     WINTRUST_WriteProviderToReg(GuidString, Cleanup       , SoftpubCleanup);
 }
 
+/***************************************************************************
+ *              WINTRUST_RegisterOfficeSignVerify
+ *
+ * Register OFFICESIGN_ACTION_VERIFY actions and usages.
+ *
+ * NOTES
+ *   OFFICESIGN_ACTION_VERIFY ({5555C2CD-17FB-11D1-85C4-00C04FC295EE})
+ *   is defined in softpub.h
+ *   We don't care about failures (see comments in DllRegisterServer)
+ */
+static void WINTRUST_RegisterOfficeSignVerify(void)
+{
+    static const GUID ProvGUID = OFFICESIGN_ACTION_VERIFY;
+    WCHAR GuidString[39];
+
+    WINTRUST_Guid2Wstr(&ProvGUID , GuidString);
+
+    TRACE("Going to register OFFICESIGN_ACTION_VERIFY : %s\n", wine_dbgstr_w(GuidString));
+
+    /* HKLM\Software\Microsoft\Cryptography\Trust\Provider\*\{5555C2CD-17FB-11D1-85C4-00C04FC295EE} */
+    WINTRUST_WriteProviderToReg(GuidString, Initialization, OfficeInitializePolicy);
+    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       , OfficeCleanupPolicy);
+}
 
 /***********************************************************************
  *              DllRegisterServer (WINTRUST.@)
@@ -631,6 +666,7 @@ HRESULT WINAPI DllRegisterServer(void)
     WINTRUST_RegisterGenCertVerify();
     WINTRUST_RegisterTrustProviderTest();
     WINTRUST_RegisterHttpsProv();
+    WINTRUST_RegisterOfficeSignVerify();
 
     /* Free the registry structures */
     WINTRUST_FreeRegStructs();




More information about the wine-cvs mailing list