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