Juan Lang : cryptui: Display <None> for a cert' s friendly name if no friendly name property is set.

Alexandre Julliard julliard at winehq.org
Wed Oct 28 10:12:23 CDT 2009


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

Author: Juan Lang <juan.lang at gmail.com>
Date:   Tue Oct 27 11:13:00 2009 -0700

cryptui: Display <None> for a cert's friendly name if no friendly name property is set.

---

 dlls/cryptui/cryptui_De.rc |    1 +
 dlls/cryptui/cryptui_En.rc |    1 +
 dlls/cryptui/cryptui_Fr.rc |    1 +
 dlls/cryptui/cryptui_Ko.rc |    1 +
 dlls/cryptui/cryptui_Lt.rc |    1 +
 dlls/cryptui/cryptui_Nl.rc |    1 +
 dlls/cryptui/cryptui_Pt.rc |    1 +
 dlls/cryptui/cryptuires.h  |    1 +
 dlls/cryptui/main.c        |   14 +++++++++-----
 9 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/dlls/cryptui/cryptui_De.rc b/dlls/cryptui/cryptui_De.rc
index d34d883..cfaf468 100644
--- a/dlls/cryptui/cryptui_De.rc
+++ b/dlls/cryptui/cryptui_De.rc
@@ -119,6 +119,7 @@ STRINGTABLE DISCARDABLE
     IDS_WARN_REMOVE_DEFAULT "Sind Sie sicher, dass Sie dieses Zertifikat entfernen möchten?"
     IDS_WARN_REMOVE_PLURAL_DEFAULT "Sind Sie sicher, dass Sie diese Zertifikate entfernen möchten?"
     IDS_CERT_MGR "Zertifikate"
+    IDS_FRIENDLY_NAME_NONE "<Keine>"
     IDS_PURPOSE_SERVER_AUTH "Garantiert die Identität eines entfernten Computers"
     IDS_PURPOSE_CLIENT_AUTH "Beweist Ihre Identität für einen entfernten Computers"
     IDS_PURPOSE_CODE_SIGNING "Schützt Software vor Manipulation nach der Veröffentlichung"
diff --git a/dlls/cryptui/cryptui_En.rc b/dlls/cryptui/cryptui_En.rc
index eaad679..527ffa5 100644
--- a/dlls/cryptui/cryptui_En.rc
+++ b/dlls/cryptui/cryptui_En.rc
@@ -117,6 +117,7 @@ STRINGTABLE DISCARDABLE
     IDS_WARN_REMOVE_DEFAULT "Are you sure you want to remove this certificate?"
     IDS_WARN_REMOVE_PLURAL_DEFAULT "Are you sure you want to remove these certificates?"
     IDS_CERT_MGR "Certificates"
+    IDS_FRIENDLY_NAME_NONE "<None>"
     IDS_PURPOSE_SERVER_AUTH "Ensures the identify of a remote computer"
     IDS_PURPOSE_CLIENT_AUTH "Proves your identity to a remote computer"
     IDS_PURPOSE_CODE_SIGNING "Ensures software came from software publisher\nProtects software from alteration after publication"
diff --git a/dlls/cryptui/cryptui_Fr.rc b/dlls/cryptui/cryptui_Fr.rc
index 457aae8..5c5ca68 100644
--- a/dlls/cryptui/cryptui_Fr.rc
+++ b/dlls/cryptui/cryptui_Fr.rc
@@ -120,6 +120,7 @@ STRINGTABLE DISCARDABLE
     IDS_WARN_REMOVE_DEFAULT "Voulez-vous réellement supprimer ce certificat ?"
     IDS_WARN_REMOVE_PLURAL_DEFAULT "Voulez-vous réellement supprimer ces certificats ?"
     IDS_CERT_MGR "Certificats"
+    IDS_FRIENDLY_NAME_NONE "<Aucun>"
     IDS_PURPOSE_SERVER_AUTH "Prouve l'identité d'un ordinateur distant"
     IDS_PURPOSE_CLIENT_AUTH "Prouve votre identité à un ordinateur distant"
     IDS_PURPOSE_CODE_SIGNING "Garantit que des logiciels proviennent bien d'un éditeur de logiciels donné\nProtège le logiciel contre toute altération après publication"
diff --git a/dlls/cryptui/cryptui_Ko.rc b/dlls/cryptui/cryptui_Ko.rc
index 6606411..eaa6222 100644
--- a/dlls/cryptui/cryptui_Ko.rc
+++ b/dlls/cryptui/cryptui_Ko.rc
@@ -118,6 +118,7 @@ STRINGTABLE DISCARDABLE
     IDS_WARN_REMOVE_DEFAULT "ÀÌ ÀÎÁõ°Å¸¦ Á¦°ÅÇϱ⸦ ¿øÇմϱî?"
     IDS_WARN_REMOVE_PLURAL_DEFAULT "ÀÌ ÀÎÁõ¼­µé¸¦ Á¦°ÅÇϱ⸦ ¿øÇմϱî?"
     IDS_CERT_MGR "ÀÎÁõ¼­"
+    IDS_FRIENDLY_NAME_NONE "<¾øÀ½>"
     IDS_PURPOSE_SERVER_AUTH "¿ø°Ý ÄÄÇ»ÅÍÀÇ µ¿Àϼº º¸Áõ"
     IDS_PURPOSE_CLIENT_AUTH "´ç½ÅÀÇ ½Å¿øÀ» ¿ø°ÝÄÄÇ»ÅÍ·Î ÀÎÁõ"
     IDS_PURPOSE_CODE_SIGNING "¼ÒÇÁÆ®¿þ¾î ¹ßÇàÀڷκÎÅÍ ¿Â ¼ÒÇÁÆ®¿þ¾î º¸Áõ\n¹ßÇàµÈ ÈÄÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ °³Á¶·ÎºÎÅÍ º¸È£"
diff --git a/dlls/cryptui/cryptui_Lt.rc b/dlls/cryptui/cryptui_Lt.rc
index d4ba0eb..deb5598 100644
--- a/dlls/cryptui/cryptui_Lt.rc
+++ b/dlls/cryptui/cryptui_Lt.rc
@@ -120,6 +120,7 @@ STRINGTABLE DISCARDABLE
     IDS_WARN_REMOVE_DEFAULT                 "Ar tikrai norite pašalinti šį liudijimą?"
     IDS_WARN_REMOVE_PLURAL_DEFAULT          "Ar tikrai norite pašalinti šiuos liudijimus?"
     IDS_CERT_MGR                            "Liudijimai"
+    IDS_FRIENDLY_NAME_NONE                  "<jokios>"
     IDS_PURPOSE_SERVER_AUTH                 "Garantuoja nutolusio kompiuterio tapatumÄ…"
     IDS_PURPOSE_CLIENT_AUTH                 "Įrodo jūsų tapatumą nutolusiam kompiuteriui"
     IDS_PURPOSE_CODE_SIGNING                "Garantuoja, kad programinė įranga yra iš šio leidėjo\nApsaugo programinę įrangą nuo pakeitimų po išleidimo"
diff --git a/dlls/cryptui/cryptui_Nl.rc b/dlls/cryptui/cryptui_Nl.rc
index faa3210..3a2d2ed 100644
--- a/dlls/cryptui/cryptui_Nl.rc
+++ b/dlls/cryptui/cryptui_Nl.rc
@@ -119,6 +119,7 @@ STRINGTABLE DISCARDABLE
     IDS_WARN_REMOVE_DEFAULT "Weet u zeker dat u dit certificaat wilt verwijderen?"
     IDS_WARN_REMOVE_PLURAL_DEFAULT "Weet u zeker dat u deze certificaten wilt verwijderen?"
     IDS_CERT_MGR "Certificaten"
+    IDS_FRIENDLY_NAME_NONE "<Geen>"
     IDS_PURPOSE_SERVER_AUTH "Bewijst de identiteit van een remote computer"
     IDS_PURPOSE_CLIENT_AUTH "Bewijst uw identiteit aan een remote computer"
     IDS_PURPOSE_CODE_SIGNING "Bewijst dat de software kwam van de software uitgever\nBeschermt software tegen wijzigingen na publicatie"
diff --git a/dlls/cryptui/cryptui_Pt.rc b/dlls/cryptui/cryptui_Pt.rc
index f879529..4b528b5 100644
--- a/dlls/cryptui/cryptui_Pt.rc
+++ b/dlls/cryptui/cryptui_Pt.rc
@@ -119,6 +119,7 @@ STRINGTABLE DISCARDABLE
     IDS_WARN_REMOVE_DEFAULT "Tem a certeza que deseja remover este certificado?"
     IDS_WARN_REMOVE_PLURAL_DEFAULT "Tem a certeza que deseja remover estes certificados?"
     IDS_CERT_MGR "Certificados"
+    IDS_FRIENDLY_NAME_NONE "<Nenhum>"
     IDS_PURPOSE_SERVER_AUTH "Assegura a identidade de um computador remoto"
     IDS_PURPOSE_CLIENT_AUTH "Prova a sua identidade a um computador remoto"
     IDS_PURPOSE_CODE_SIGNING "Assegura que o software veio de uma editora de software\nProtege o software de alterações após publicação"
diff --git a/dlls/cryptui/cryptuires.h b/dlls/cryptui/cryptuires.h
index 716dba5..df321df 100644
--- a/dlls/cryptui/cryptuires.h
+++ b/dlls/cryptui/cryptuires.h
@@ -116,6 +116,7 @@
 #define IDS_WARN_REMOVE_DEFAULT 1092
 #define IDS_WARN_REMOVE_PLURAL_DEFAULT 1093
 #define IDS_CERT_MGR 1094
+#define IDS_FRIENDLY_NAME_NONE 1095
 
 #define IDS_PURPOSE_SERVER_AUTH 1100
 #define IDS_PURPOSE_CLIENT_AUTH 1101
diff --git a/dlls/cryptui/main.c b/dlls/cryptui/main.c
index b02c56a..117257e 100644
--- a/dlls/cryptui/main.c
+++ b/dlls/cryptui/main.c
@@ -104,6 +104,7 @@ static void add_cert_to_view(HWND lv, PCCERT_CONTEXT cert, DWORD *allocatedLen,
     WCHAR dateFmt[80]; /* sufficient for LOCALE_SSHORTDATE */
     WCHAR date[80];
     SYSTEMTIME sysTime;
+    LPWSTR none;
 
     item.mask = LVIF_IMAGE | LVIF_PARAM | LVIF_TEXT;
     item.iItem = SendMessageW(lv, LVM_GETITEMCOUNT, 0, 0);
@@ -155,8 +156,9 @@ static void add_cert_to_view(HWND lv, PCCERT_CONTEXT cert, DWORD *allocatedLen,
     item.iSubItem = 2;
     SendMessageW(lv, LVM_SETITEMTEXTW, item.iItem, (LPARAM)&item);
 
-    len = CertGetNameStringW(cert, CERT_NAME_FRIENDLY_DISPLAY_TYPE, 0, NULL,
-     NULL, 0);
+    if (!CertGetCertificateContextProperty(cert, CERT_FRIENDLY_NAME_PROP_ID,
+     NULL, &len))
+        len = LoadStringW(hInstance, IDS_FRIENDLY_NAME_NONE, (LPWSTR)&none, 0);
     if (len > *allocatedLen)
     {
         HeapFree(GetProcessHeap(), 0, *str);
@@ -166,9 +168,11 @@ static void add_cert_to_view(HWND lv, PCCERT_CONTEXT cert, DWORD *allocatedLen,
     }
     if (*str)
     {
-        CertGetNameStringW(cert, CERT_NAME_FRIENDLY_DISPLAY_TYPE, 0, NULL,
-         *str, len);
-        item.pszText = *str;
+        if (!CertGetCertificateContextProperty(cert, CERT_FRIENDLY_NAME_PROP_ID,
+         *str, &len))
+            item.pszText = none;
+        else
+            item.pszText = *str;
         item.iSubItem = 3;
         SendMessageW(lv, LVM_SETITEMTEXTW, item.iItem, (LPARAM)&item);
     }




More information about the wine-cvs mailing list