Paul Vriens : wintrust: Add a bunch of CryptRegisterOIDFunction calls.

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


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

Author: Paul Vriens <Paul.Vriens at xs4all.nl>
Date:   Wed Sep  6 13:16:01 2006 +0200

wintrust: Add a bunch of CryptRegisterOIDFunction calls.

---

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

diff --git a/dlls/wintrust/register.c b/dlls/wintrust/register.c
index bc40020..c9baea5 100644
--- a/dlls/wintrust/register.c
+++ b/dlls/wintrust/register.c
@@ -703,6 +703,28 @@ static void WINTRUST_RegisterGenChainVer
  */
 HRESULT WINAPI DllRegisterServer(void)
 {
+    static const CHAR WVTAsn1SpcPeImageDataEncode[]           = "WVTAsn1SpcPeImageDataEncode";
+    static const CHAR WVTAsn1SpcPeImageDataDecode[]           = "WVTAsn1SpcPeImageDataDecode";
+    static const CHAR WVTAsn1SpcLinkEncode[]                  = "WVTAsn1SpcLinkEncode";
+    static const CHAR WVTAsn1SpcLinkDecode[]                  = "WVTAsn1SpcLinkDecode";
+    static const CHAR WVTAsn1SpcSigInfoEncode[]               = "WVTAsn1SpcSigInfoEncode";
+    static const CHAR WVTAsn1SpcSigInfoDecode[]               = "WVTAsn1SpcSigInfoDecode";
+    static const CHAR WVTAsn1SpcIndirectDataContentEncode[]   = "WVTAsn1SpcIndirectDataContentEncode";
+    static const CHAR WVTAsn1SpcIndirectDataContentDecode[]   = "WVTAsn1SpcIndirectDataContentDecode";
+    static const CHAR WVTAsn1SpcSpAgencyInfoEncode[]          = "WVTAsn1SpcSpAgencyInfoEncode";
+    static const CHAR WVTAsn1SpcSpAgencyInfoDecode[]          = "WVTAsn1SpcSpAgencyInfoDecode";
+    static const CHAR WVTAsn1SpcMinimalCriteriaInfoEncode[]   = "WVTAsn1SpcMinimalCriteriaInfoEncode";
+    static const CHAR WVTAsn1SpcMinimalCriteriaInfoDecode[]   = "WVTAsn1SpcMinimalCriteriaInfoDecode";
+    static const CHAR WVTAsn1SpcFinancialCriteriaInfoEncode[] = "WVTAsn1SpcFinancialCriteriaInfoEncode";
+    static const CHAR WVTAsn1SpcFinancialCriteriaInfoDecode[] = "WVTAsn1SpcFinancialCriteriaInfoDecode";
+    static const CHAR WVTAsn1SpcStatementTypeEncode[]         = "WVTAsn1SpcStatementTypeEncode";
+    static const CHAR WVTAsn1SpcStatementTypeDecode[]         = "WVTAsn1SpcStatementTypeDecode";
+    static const CHAR WVTAsn1CatNameValueEncode[]             = "WVTAsn1CatNameValueEncode";
+    static const CHAR WVTAsn1CatNameValueDecode[]             = "WVTAsn1CatNameValueDecode";
+    static const CHAR WVTAsn1CatMemberInfoEncode[]            = "WVTAsn1CatMemberInfoEncode";
+    static const CHAR WVTAsn1CatMemberInfoDecode[]            = "WVTAsn1CatMemberInfoDecode";
+    static const CHAR WVTAsn1SpcSpOpusInfoEncode[]            = "WVTAsn1SpcSpOpusInfoEncode";
+    static const CHAR WVTAsn1SpcSpOpusInfoDecode[]            = "WVTAsn1SpcSpOpusInfoDecode";
     HRESULT Res = S_OK;
     HKEY Key;
 
@@ -718,6 +740,39 @@ HRESULT WINAPI DllRegisterServer(void)
      * - One call to CryptSIPRemoveProvider (do we need that?)
      */
 
+#define WINTRUST_REGISTEROID( oid, encode_funcname, decode_funcname ) \
+    CryptRegisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_ENCODE_OBJECT_FUNC, oid, SP_POLICY_PROVIDER_DLL_NAME, encode_funcname); \
+    CryptRegisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_DECODE_OBJECT_FUNC, oid, SP_POLICY_PROVIDER_DLL_NAME, decode_funcname)
+
+    WINTRUST_REGISTEROID(SPC_PE_IMAGE_DATA_OBJID, WVTAsn1SpcPeImageDataEncode, WVTAsn1SpcPeImageDataDecode);
+    WINTRUST_REGISTEROID(SPC_PE_IMAGE_DATA_STRUCT, WVTAsn1SpcPeImageDataEncode, WVTAsn1SpcPeImageDataDecode);
+    WINTRUST_REGISTEROID(SPC_CAB_DATA_OBJID, WVTAsn1SpcLinkEncode, WVTAsn1SpcLinkDecode);
+    WINTRUST_REGISTEROID(SPC_CAB_DATA_STRUCT, WVTAsn1SpcLinkEncode, WVTAsn1SpcLinkDecode);
+    WINTRUST_REGISTEROID(SPC_JAVA_CLASS_DATA_OBJID, WVTAsn1SpcLinkEncode, WVTAsn1SpcLinkDecode);
+    WINTRUST_REGISTEROID(SPC_JAVA_CLASS_DATA_STRUCT, WVTAsn1SpcLinkEncode, WVTAsn1SpcLinkDecode);
+    WINTRUST_REGISTEROID(SPC_LINK_OBJID, WVTAsn1SpcLinkEncode, WVTAsn1SpcLinkDecode);
+    WINTRUST_REGISTEROID(SPC_LINK_STRUCT, WVTAsn1SpcLinkEncode, WVTAsn1SpcLinkDecode);
+    WINTRUST_REGISTEROID(SPC_SIGINFO_OBJID, WVTAsn1SpcSigInfoEncode, WVTAsn1SpcSigInfoDecode);
+    WINTRUST_REGISTEROID(SPC_SIGINFO_STRUCT, WVTAsn1SpcSigInfoEncode, WVTAsn1SpcSigInfoDecode);
+    WINTRUST_REGISTEROID(SPC_INDIRECT_DATA_OBJID, WVTAsn1SpcIndirectDataContentEncode, WVTAsn1SpcIndirectDataContentDecode);
+    WINTRUST_REGISTEROID(SPC_INDIRECT_DATA_CONTENT_STRUCT, WVTAsn1SpcIndirectDataContentEncode, WVTAsn1SpcIndirectDataContentDecode);
+    WINTRUST_REGISTEROID(SPC_SP_AGENCY_INFO_OBJID, WVTAsn1SpcSpAgencyInfoEncode, WVTAsn1SpcSpAgencyInfoDecode);
+    WINTRUST_REGISTEROID(SPC_SP_AGENCY_INFO_STRUCT, WVTAsn1SpcSpAgencyInfoEncode, WVTAsn1SpcSpAgencyInfoDecode);
+    WINTRUST_REGISTEROID(SPC_MINIMAL_CRITERIA_OBJID, WVTAsn1SpcMinimalCriteriaInfoEncode, WVTAsn1SpcMinimalCriteriaInfoDecode);
+    WINTRUST_REGISTEROID(SPC_MINIMAL_CRITERIA_STRUCT, WVTAsn1SpcMinimalCriteriaInfoEncode, WVTAsn1SpcMinimalCriteriaInfoDecode);
+    WINTRUST_REGISTEROID(SPC_FINANCIAL_CRITERIA_OBJID, WVTAsn1SpcFinancialCriteriaInfoEncode, WVTAsn1SpcFinancialCriteriaInfoDecode);
+    WINTRUST_REGISTEROID(SPC_FINANCIAL_CRITERIA_STRUCT, WVTAsn1SpcFinancialCriteriaInfoEncode, WVTAsn1SpcFinancialCriteriaInfoDecode);
+    WINTRUST_REGISTEROID(SPC_STATEMENT_TYPE_OBJID, WVTAsn1SpcStatementTypeEncode, WVTAsn1SpcStatementTypeDecode);
+    WINTRUST_REGISTEROID(SPC_STATEMENT_TYPE_STRUCT, WVTAsn1SpcStatementTypeEncode, WVTAsn1SpcStatementTypeDecode);
+    WINTRUST_REGISTEROID(CAT_NAMEVALUE_OBJID, WVTAsn1CatNameValueEncode, WVTAsn1CatNameValueDecode);
+    WINTRUST_REGISTEROID(CAT_NAMEVALUE_STRUCT, WVTAsn1CatNameValueEncode, WVTAsn1CatNameValueDecode);
+    WINTRUST_REGISTEROID(CAT_MEMBERINFO_OBJID, WVTAsn1CatMemberInfoEncode, WVTAsn1CatMemberInfoDecode);
+    WINTRUST_REGISTEROID(CAT_MEMBERINFO_STRUCT, WVTAsn1CatMemberInfoEncode, WVTAsn1CatMemberInfoDecode);
+    WINTRUST_REGISTEROID(SPC_SP_OPUS_INFO_OBJID, WVTAsn1SpcSpOpusInfoEncode, WVTAsn1SpcSpOpusInfoDecode);
+    WINTRUST_REGISTEROID(SPC_SP_OPUS_INFO_STRUCT, WVTAsn1SpcSpOpusInfoEncode, WVTAsn1SpcSpOpusInfoDecode);
+
+#undef WINTRUST_REGISTEROID
+
     /* Testing on W2K3 shows:
      * If we cannot open HKLM\Software\Microsoft\Cryptography\Providers\Trust
      * for writing, DllRegisterServer returns S_FALSE. If the key can be opened 




More information about the wine-cvs mailing list