Juan Lang : cryptdlg: Register/ unregister the OID functions exported by cryptdlg.

Alexandre Julliard julliard at winehq.org
Tue Nov 18 09:27:19 CST 2008


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

Author: Juan Lang <juan.lang at gmail.com>
Date:   Fri Nov 14 19:34:00 2008 -0800

cryptdlg: Register/unregister the OID functions exported by cryptdlg.

---

 dlls/cryptdlg/main.c |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/dlls/cryptdlg/main.c b/dlls/cryptdlg/main.c
index 46fb7ed..e8f2514 100644
--- a/dlls/cryptdlg/main.c
+++ b/dlls/cryptdlg/main.c
@@ -465,6 +465,8 @@ BOOL WINAPI CertViewPropertiesW(CERT_VIEWPROPERTIES_STRUCT_W *info)
     return ret;
 }
 
+#define szOID_MICROSOFT_Encryption_Key_Preference "1.3.6.1.4.1.311.16.4"
+
 /***********************************************************************
  *		DllRegisterServer (CRYPTDLG.@)
  */
@@ -484,6 +486,8 @@ HRESULT WINAPI DllRegisterServer(void)
      'F','i','n','a','l','P','o','l','i','c','y',0 };
     static WCHAR certTrustCleanup[] = { 'C','e','r','t','T','r','u','s','t',
      'C','l','e','a','n','u','p',0 };
+    static const WCHAR cryptDlg[] = { 'c','r','y','p','t','d','l','g','.',
+       'd','l','l',0 };
     CRYPT_REGISTER_ACTIONID reg;
     GUID guid = CERT_CERTIFICATE_ACTION_VERIFY;
     HRESULT hr = S_OK;
@@ -507,6 +511,18 @@ HRESULT WINAPI DllRegisterServer(void)
     reg.sCleanupProvider.pwszFunctionName = certTrustCleanup;
     if (!WintrustAddActionID(&guid, WT_ADD_ACTION_ID_RET_RESULT_FLAG, &reg))
         hr = GetLastError();
+    CryptRegisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_ENCODE_OBJECT_FUNC,
+     "1.3.6.1.4.1.311.16.1.1", cryptDlg, "EncodeAttrSequence");
+    CryptRegisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_ENCODE_OBJECT_FUNC,
+     szOID_MICROSOFT_Encryption_Key_Preference, cryptDlg, "EncodeRecipientID");
+    CryptRegisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_DECODE_OBJECT_FUNC,
+     "1.3.6.1.4.1.311.16.1.1", cryptDlg, "DecodeAttrSequence");
+    CryptRegisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_DECODE_OBJECT_FUNC,
+     szOID_MICROSOFT_Encryption_Key_Preference, cryptDlg, "DecodeRecipientID");
+    CryptRegisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_FORMAT_OBJECT_FUNC,
+     szOID_PKIX_KP_EMAIL_PROTECTION, cryptDlg, "FormatPKIXEmailProtection");
+    CryptRegisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_FORMAT_OBJECT_FUNC,
+     szOID_CERT_POLICIES, cryptDlg, "FormatVerisignExtension");
     return hr;
 }
 
@@ -518,5 +534,17 @@ HRESULT WINAPI DllUnregisterServer(void)
     GUID guid = CERT_CERTIFICATE_ACTION_VERIFY;
 
     WintrustRemoveActionID(&guid);
+    CryptUnregisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_ENCODE_OBJECT_FUNC,
+     "1.3.6.1.4.1.311.16.1.1");
+    CryptUnregisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_ENCODE_OBJECT_FUNC,
+     szOID_MICROSOFT_Encryption_Key_Preference);
+    CryptUnregisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_DECODE_OBJECT_FUNC,
+     "1.3.6.1.4.1.311.16.1.1");
+    CryptUnregisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_DECODE_OBJECT_FUNC,
+     szOID_MICROSOFT_Encryption_Key_Preference);
+    CryptUnregisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_FORMAT_OBJECT_FUNC,
+     szOID_PKIX_KP_EMAIL_PROTECTION);
+    CryptUnregisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_FORMAT_OBJECT_FUNC,
+     szOID_CERT_POLICIES);
     return S_OK;
 }




More information about the wine-cvs mailing list