diff --git a/.gitignore b/.gitignore index 56a5ba2..ecb192a 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,7 @@ xca-0.8.1.tar.gz /xca-2.2.1.tar.gz /xca-2.3.0.tar.gz /xca-2.4.0.tar.gz +/xca-2.5.0.tar.gz +/xca-2.6.0.tar.gz +/xca-2.7.0.tar.gz +/xca-2.9.0.tar.gz diff --git a/sources b/sources index f9652b1..fae6ef5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xca-2.4.0.tar.gz) = e93e2cf9dc48ed43ee9b51e977f825d81ff08835eb4d77fcbe8f9dc8ce31c77c1da879b48c25ab535717542d1fe84faa6e46c410c116edbee02072040c59667c +SHA512 (xca-2.9.0.tar.gz) = e635b83668d0053acb1ad5a8a20a2a1854de90a1e2a8806ecd38e83528d17bc87042d44fcea0f75f2e17df1ed135cc473449547fe273e7e3ea1fe175a4ddf054 diff --git a/xca-2.4.0-lang-fr.patch b/xca-2.4.0-lang-fr.patch deleted file mode 100644 index 65bb353..0000000 --- a/xca-2.4.0-lang-fr.patch +++ /dev/null @@ -1,4046 +0,0 @@ -From 9b1fce659d24890c896a16f59eb14c38edceff76 Mon Sep 17 00:00:00 2001 -From: Patrick Monnerat -Date: Sat, 15 May 2021 11:50:24 +0200 -Subject: [PATCH] Update french translation - ---- - lang/fr.po | 1490 ++++++++++++++++++++++++++++------------------------ - 1 file changed, 791 insertions(+), 699 deletions(-) - -diff --git a/lang/fr.po b/lang/fr.po -index 2191b870..096abfc4 100644 ---- a/lang/fr.po -+++ b/lang/fr.po -@@ -1,20 +1,20 @@ - # - # demonipuch , 2012, 2014, 2015. --# Patrick Monnerat <.>, 2011-2020. -+# Patrick Monnerat <.>, 2011-2021. - # - msgid "" - msgstr "" - "Project-Id-Version: xca 1.3.3\n" - "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2018-03-16 18:14+0200\n" --"PO-Revision-Date: 2020-04-08 17:42+0200\n" -+"PO-Revision-Date: 2021-05-15 11:49+0200\n" - "Last-Translator: Patrick Monnerat <.>\n" - "Language-Team: French <>\n" - "Language: fr\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: Gtranslator 3.34.0\n" -+"X-Generator: Gtranslator 3.38.0\n" - "Plural-Forms: nplurals=2; plural=(n > 1);\n" - "X-Qt-Contexts: true\n" - -@@ -34,7 +34,7 @@ msgctxt "CaProperties|" - msgid "Default template" - msgstr "Modèle par défaut" - --#: ../ui/CertDetail.ui:30 ../widgets/CertDetail.cpp:99 -+#: ../ui/CertDetail.ui:30 ../widgets/CertDetail.cpp:112 - msgctxt "CertDetail|" - msgid "Details of the Certificate" - msgstr "Détails du Certificat" -@@ -149,58 +149,58 @@ msgctxt "CertDetail|" - msgid "Attributes" - msgstr "Attributs" - --#: ../ui/CertDetail.ui:377 ../widgets/CertDetail.cpp:36 -+#: ../ui/CertDetail.ui:377 ../widgets/CertDetail.cpp:40 - msgctxt "CertDetail|" - msgid "Show config" - msgstr "Afficher la configuration" - --#: ../widgets/CertDetail.cpp:40 -+#: ../widgets/CertDetail.cpp:44 - msgctxt "CertDetail|" - msgid "Show extensions" - msgstr "Afficher les extensions" - --#: ../widgets/CertDetail.cpp:62 -+#: ../widgets/CertDetail.cpp:66 - msgctxt "CertDetail|" - msgid "Show public key" - msgstr "Afficher la clé publique" - --#: ../widgets/CertDetail.cpp:67 -+#: ../widgets/CertDetail.cpp:69 - msgctxt "CertDetail|" - msgid "This key is not in the database." - msgstr "Cette clé ne figure pas dans la base de données" - --#: ../widgets/CertDetail.cpp:69 -+#: ../widgets/CertDetail.cpp:73 - msgctxt "CertDetail|" - msgid "Not available" - msgstr "Non disponible" - --#: ../widgets/CertDetail.cpp:108 -+#: ../widgets/CertDetail.cpp:120 - msgctxt "CertDetail|" - msgid "Signer unknown" - msgstr "Signataire inconnu" - --#: ../widgets/CertDetail.cpp:112 -+#: ../widgets/CertDetail.cpp:124 - msgctxt "CertDetail|" - msgid "Self signed" - msgstr "Auto-signé" - --#: ../widgets/CertDetail.cpp:139 -+#: ../widgets/CertDetail.cpp:154 - #, qt-format - msgctxt "CertDetail|" - msgid "Revoked at %1" - msgstr "Révoqué le %1" - --#: ../widgets/CertDetail.cpp:144 -+#: ../widgets/CertDetail.cpp:159 - msgctxt "CertDetail|" - msgid "Not valid" - msgstr "Invalide" - --#: ../widgets/CertDetail.cpp:148 -+#: ../widgets/CertDetail.cpp:163 - msgctxt "CertDetail|" - msgid "Valid" - msgstr "Valide" - --#: ../widgets/CertDetail.cpp:167 -+#: ../widgets/CertDetail.cpp:184 - msgctxt "CertDetail|" - msgid "Details of the certificate signing request" - msgstr "Détails de la requête de signature" -@@ -322,76 +322,86 @@ msgstr "" - "Le certificat serait valide plus longtemps que son signataire. Ce n'est " - "probablement pas ce qui est désiré." - --#: ../widgets/CertTreeView.cpp:25 -+#: ../widgets/CertTreeView.cpp:30 - msgctxt "CertTreeView|" - msgid "Import PKCS#12" - msgstr "Importer en PKCS#12" - --#: ../widgets/CertTreeView.cpp:26 -+#: ../widgets/CertTreeView.cpp:31 - msgctxt "CertTreeView|" - msgid "Import from PKCS#7" - msgstr "Importer en PKCS#7" - --#: ../widgets/CertTreeView.cpp:54 -+#: ../widgets/CertTreeView.cpp:60 - msgctxt "CertTreeView|" - msgid "Request" - msgstr "Requête" - --#: ../widgets/CertTreeView.cpp:56 -+#: ../widgets/CertTreeView.cpp:62 - msgctxt "CertTreeView|" - msgid "Security token" - msgstr "Jeton de sécurité" - --#: ../widgets/CertTreeView.cpp:58 -+#: ../widgets/CertTreeView.cpp:64 - msgctxt "CertTreeView|" - msgid "Other token" - msgstr "Autre jeton" - --#: ../widgets/CertTreeView.cpp:62 -+#: ../widgets/CertTreeView.cpp:68 - msgctxt "CertTreeView|" - msgid "Similar Certificate" - msgstr "Certificat similaire" - --#: ../widgets/CertTreeView.cpp:65 -+#: ../widgets/CertTreeView.cpp:71 - msgctxt "CertTreeView|" - msgid "Delete from Security token" - msgstr "Détruire sur le jeton de sécurité" - --#: ../widgets/CertTreeView.cpp:68 -+#: ../widgets/CertTreeView.cpp:74 - msgctxt "CertTreeView|" - msgid "CA" - msgstr "CA" - --#: ../widgets/CertTreeView.cpp:69 -+#: ../widgets/CertTreeView.cpp:75 - msgctxt "CertTreeView|" - msgid "Properties" - msgstr "Propriétés" - --#: ../widgets/CertTreeView.cpp:70 -+#: ../widgets/CertTreeView.cpp:76 - msgctxt "CertTreeView|" - msgid "Generate CRL" - msgstr "Générer la liste de révocation" - --#: ../widgets/CertTreeView.cpp:71 -+#: ../widgets/CertTreeView.cpp:77 - msgctxt "CertTreeView|" - msgid "Manage revocations" - msgstr "Gérer les révocations" - --#: ../widgets/CertTreeView.cpp:76 ../widgets/CertTreeView.cpp:79 -+#: ../widgets/CertTreeView.cpp:82 ../widgets/CertTreeView.cpp:85 - msgctxt "CertTreeView|" - msgid "Renewal" - msgstr "Renouvellement" - --#: ../widgets/CertTreeView.cpp:81 -+#: ../widgets/CertTreeView.cpp:87 - msgctxt "CertTreeView|" - msgid "Revoke" - msgstr "Révoquer" - --#: ../widgets/CertTreeView.cpp:83 -+#: ../widgets/CertTreeView.cpp:89 - msgctxt "CertTreeView|" - msgid "Unrevoke" - msgstr "Dé-révoquer" - -+#: ../widgets/CertTreeView.cpp:157 -+msgctxt "CertTreeView|" -+msgid "Plain View" -+msgstr "Vue à plat" -+ -+#: ../widgets/CertTreeView.cpp:157 -+msgctxt "CertTreeView|" -+msgid "Tree View" -+msgstr "Vue arborescente" -+ - #: ../widgets/clicklabel.cpp:37 - msgctxt "ClickLabel|" - msgid "Double click for details" -@@ -407,81 +417,91 @@ msgctxt "CrlDetail|" - msgid "&Status" - msgstr "&Etat" - --#: ../ui/CrlDetail.ui:126 -+#: ../ui/CrlDetail.ui:144 - msgctxt "CrlDetail|" - msgid "Version" - msgstr "Version" - --#: ../ui/CrlDetail.ui:145 -+#: ../ui/CrlDetail.ui:163 - msgctxt "CrlDetail|" - msgid "Signature" - msgstr "Signature" - --#: ../ui/CrlDetail.ui:152 -+#: ../ui/CrlDetail.ui:170 - msgctxt "CrlDetail|" - msgid "Signed by" - msgstr "Signée par" - --#: ../ui/CrlDetail.ui:159 -+#: ../ui/CrlDetail.ui:177 - msgctxt "CrlDetail|" - msgid "Name" - msgstr "Nom" - --#: ../ui/CrlDetail.ui:166 -+#: ../ui/CrlDetail.ui:184 - msgctxt "CrlDetail|" - msgid "The internal name of the CRL in the database" - msgstr "Le nom interne de la liste de révocation dans la base de données" - --#: ../ui/CrlDetail.ui:179 -+#: ../ui/CrlDetail.ui:197 - msgctxt "CrlDetail|" - msgid "issuing dates" - msgstr "dates d'émission" - --#: ../ui/CrlDetail.ui:188 -+#: ../ui/CrlDetail.ui:215 - msgctxt "CrlDetail|" - msgid "Next update" - msgstr "Prochaine mise-à-jour" - --#: ../ui/CrlDetail.ui:195 -+#: ../ui/CrlDetail.ui:222 - msgctxt "CrlDetail|" - msgid "Last update" - msgstr "Dernière mise-à-jour" - --#: ../ui/CrlDetail.ui:228 -+#: ../ui/CrlDetail.ui:255 - msgctxt "CrlDetail|" - msgid "&Issuer" - msgstr "&Emetteur" - --#: ../ui/CrlDetail.ui:241 -+#: ../ui/CrlDetail.ui:277 - msgctxt "CrlDetail|" - msgid "&Extensions" - msgstr "&Extensions" - --#: ../ui/CrlDetail.ui:261 -+#: ../ui/CrlDetail.ui:306 - msgctxt "CrlDetail|" - msgid "&Revocation list" - msgstr "Liste de &révocation" - --#: ../ui/CrlDetail.ui:286 -+#: ../ui/CrlDetail.ui:340 - msgctxt "CrlDetail|" - msgid "Comment" - msgstr "Commentaire" - --#: ../widgets/CrlDetail.cpp:47 -+#: ../widgets/CrlDetail.cpp:52 - msgctxt "CrlDetail|" - msgid "Failed" - msgstr "Echoué" - --#: ../widgets/CrlDetail.cpp:52 -+#: ../widgets/CrlDetail.cpp:57 - msgctxt "CrlDetail|" - msgid "Unknown signer" - msgstr "Signataire inconnu" - --#: ../widgets/CrlDetail.cpp:55 -+#: ../widgets/CrlDetail.cpp:60 - msgctxt "CrlDetail|" - msgid "Verification not possible" - msgstr "Vérification impossible" - -+#: ../widgets/CrlTreeView.cpp:37 -+msgctxt "CrlTreeView|" -+msgid "There are no CA certificates for CRL generation" -+msgstr "Il n'y a pas de certificat CA pour la génération de la CRL" -+ -+#: ../widgets/CrlTreeView.cpp:45 -+msgctxt "CrlTreeView|" -+msgid "Select CA certificate" -+msgstr "Sélectionner un certificat d'autorité" -+ - #: ../ui/ExportDialog.ui:79 - msgctxt "ExportDialog|" - msgid "Name" -@@ -512,80 +532,80 @@ msgctxt "ExportDialog|" - msgid "Export Format" - msgstr "Format d'exportation" - --#: ../widgets/ExportDialog.cpp:36 -+#: ../widgets/ExportDialog.cpp:41 - msgctxt "ExportDialog|" - msgid "All files ( * )" - msgstr "Tous les fichiers ( * )" - --#: ../widgets/ExportDialog.cpp:51 -+#: ../widgets/ExportDialog.cpp:56 - msgctxt "ExportDialog|" - msgid "PEM Text format with headers" - msgstr "Format textuel PEM avec des en-têtes" - --#: ../widgets/ExportDialog.cpp:53 -+#: ../widgets/ExportDialog.cpp:58 - msgctxt "ExportDialog|" - msgid "Concatenated list of all selected items in one PEM text file" - msgstr "" - "Concaténation de tous les éléments sélectionnés dans un seul fichier texte " - "en format PEM" - --#: ../widgets/ExportDialog.cpp:54 -+#: ../widgets/ExportDialog.cpp:59 - msgctxt "ExportDialog|" - msgid "" - "Concatenated text format of the complete certificate chain in one PEM file" - msgstr "" - "Fichier PEM contenant la concaténation de tous les certificats de la chaîne" - --#: ../widgets/ExportDialog.cpp:58 -+#: ../widgets/ExportDialog.cpp:63 - msgctxt "ExportDialog|" - msgid "Concatenated text format of all certificates in one PEM file" - msgstr "Fichier PEM contenant la concaténation de tous les certificats" - --#: ../widgets/ExportDialog.cpp:59 -+#: ../widgets/ExportDialog.cpp:64 - msgctxt "ExportDialog|" - msgid "Binary DER encoded file" - msgstr "Fichier binaire en format DER" - --#: ../widgets/ExportDialog.cpp:60 -+#: ../widgets/ExportDialog.cpp:65 - msgctxt "ExportDialog|" - msgid "PKCS#7 encoded single certificate" - msgstr "Un seul certificat en format PKCS#7" - --#: ../widgets/ExportDialog.cpp:62 -+#: ../widgets/ExportDialog.cpp:67 - msgctxt "ExportDialog|" - msgid "PKCS#7 encoded complete certificate chain" - msgstr "" - "La chaîne complète de certificats en format PKCS#7 dans un seul fichier" - --#: ../widgets/ExportDialog.cpp:56 -+#: ../widgets/ExportDialog.cpp:61 - msgctxt "ExportDialog|" - msgid "Concatenated text format of all unrevoked certificates in one PEM file" - msgstr "" - "Fichier PEM contenant la concaténation de tous les certificats non-révoqués" - --#: ../widgets/ExportDialog.cpp:64 -+#: ../widgets/ExportDialog.cpp:69 - msgctxt "ExportDialog|" - msgid "All unrevoked certificates encoded in one PKCS#7 file" - msgstr "" - "Tous les certificats non-révoqués dans un seul fichier en format PKCS#7" - --#: ../widgets/ExportDialog.cpp:66 -+#: ../widgets/ExportDialog.cpp:71 - msgctxt "ExportDialog|" - msgid "All selected certificates encoded in one PKCS#7 file" - msgstr "" - "Tous les certificats sélectionnés dans un seul fichier en format PKCS#7" - --#: ../widgets/ExportDialog.cpp:68 -+#: ../widgets/ExportDialog.cpp:73 - msgctxt "ExportDialog|" - msgid "All certificates encoded in one PKCS#7 file" - msgstr "Tous les certificats dans un seul fichier en format PKCS#7" - --#: ../widgets/ExportDialog.cpp:70 -+#: ../widgets/ExportDialog.cpp:75 - msgctxt "ExportDialog|" - msgid "The certificate and the private key as encrypted PKCS#12 file" - msgstr "Le certificat et sa clé privée dans un fichier en format PKCS#12" - --#: ../widgets/ExportDialog.cpp:71 -+#: ../widgets/ExportDialog.cpp:76 - msgctxt "ExportDialog|" - msgid "" - "The complete certificate chain and the private key as encrypted PKCS#12 file" -@@ -593,7 +613,7 @@ msgstr "" - "La chaîne complète des certificats et la clé privée en un seul fichier " - "chiffré en format PKCS#12" - --#: ../widgets/ExportDialog.cpp:72 -+#: ../widgets/ExportDialog.cpp:77 - msgctxt "ExportDialog|" - msgid "" - "Concatenation of the certificate and the unencrypted private key in one PEM " -@@ -602,7 +622,7 @@ msgstr "" - "La concaténation du certificat et de sa clé privée non-chiffrée dans un seul " - "fichier PEM" - --#: ../widgets/ExportDialog.cpp:73 -+#: ../widgets/ExportDialog.cpp:78 - msgctxt "ExportDialog|" - msgid "" - "Concatenation of the certificate and the encrypted private key in PKCS#8 " -@@ -611,47 +631,47 @@ msgstr "" - "La concaténation du certificat et de sa clé privée chiffrée en format PKCS#8 " - "dans un seul fichier" - --#: ../widgets/ExportDialog.cpp:74 -+#: ../widgets/ExportDialog.cpp:79 - msgctxt "ExportDialog|" - msgid "Text format of the public key in one PEM file" - msgstr "Formattage textuel de la clé publique dans un fichier PEM" - --#: ../widgets/ExportDialog.cpp:75 -+#: ../widgets/ExportDialog.cpp:80 - msgctxt "ExportDialog|" - msgid "Binary DER format of the public key" - msgstr "Format binaire DER de la clé publique" - --#: ../widgets/ExportDialog.cpp:77 -+#: ../widgets/ExportDialog.cpp:82 - msgctxt "ExportDialog|" - msgid "Unencrypted private key in text format" - msgstr "Clé privée non-chiffrée en format texte" - --#: ../widgets/ExportDialog.cpp:79 -+#: ../widgets/ExportDialog.cpp:84 - msgctxt "ExportDialog|" - msgid "OpenSSL specific encrypted private key in text format" - msgstr "Clé privée chiffrée spécifiquement par OpenSSL en format texte" - --#: ../widgets/ExportDialog.cpp:81 -+#: ../widgets/ExportDialog.cpp:86 - msgctxt "ExportDialog|" - msgid "Unencrypted private key in binary DER format" - msgstr "Clé privée non-chiffrée en format binaire DER" - --#: ../widgets/ExportDialog.cpp:83 -+#: ../widgets/ExportDialog.cpp:88 - msgctxt "ExportDialog|" - msgid "Unencrypted private key in PKCS#8 text format" - msgstr "Clé privée non-chiffrée en format texte PKCS#8" - --#: ../widgets/ExportDialog.cpp:85 -+#: ../widgets/ExportDialog.cpp:90 - msgctxt "ExportDialog|" - msgid "Encrypted private key in PKCS#8 text format" - msgstr "Clé privée chiffrée en format texte PKCS#8" - --#: ../widgets/ExportDialog.cpp:86 -+#: ../widgets/ExportDialog.cpp:91 - msgctxt "ExportDialog|" - msgid "The public key encoded in SSH2 format" - msgstr "La clé publique en format SSH2" - --#: ../widgets/ExportDialog.cpp:87 -+#: ../widgets/ExportDialog.cpp:92 - msgctxt "ExportDialog|" - msgid "" - "OpenSSL specific Certificate Index file as created by the 'ca' command and " -@@ -660,12 +680,12 @@ msgstr "" - "Fichier d'index des certificats spécifique à OpenSSL, tel que créé par la " - "commande 'ca' et nécessaire à l'outil OCSP" - --#: ../widgets/ExportDialog.cpp:88 -+#: ../widgets/ExportDialog.cpp:93 - msgctxt "ExportDialog|" - msgid "vCalendar expiry reminder for the selected items" - msgstr "message vCalendar de rappel d'expiration des éléments sélectionnés" - --#: ../widgets/ExportDialog.cpp:89 -+#: ../widgets/ExportDialog.cpp:94 - msgctxt "ExportDialog|" - msgid "" - "vCalendar expiry reminder containing all issued, valid certificates, the CA " -@@ -674,28 +694,28 @@ msgstr "" - "message vCalendar de rappel d'expiration contenant tous les certificats " - "valides émis, le CA lui-même et la liste de révocation la plus récente" - --#: ../widgets/ExportDialog.cpp:90 -+#: ../widgets/ExportDialog.cpp:95 - msgctxt "ExportDialog|" - msgid "Private key in Microsoft PVK format not encrypted" - msgstr "La clé privée en format Microsoft PVK n'est pas chiffrée" - --#: ../widgets/ExportDialog.cpp:91 -+#: ../widgets/ExportDialog.cpp:96 - msgctxt "ExportDialog|" - msgid "Encrypted private key in Microsoft PVK format" - msgstr "Clé privée chiffrée en format Microsoft PVK" - --#: ../widgets/ExportDialog.cpp:128 -+#: ../widgets/ExportDialog.cpp:133 - #, qt-format - msgctxt "ExportDialog|" - msgid "The file: '%1' already exists!" - msgstr "Le fichier '%1' existe déjà!" - --#: ../widgets/ExportDialog.cpp:130 -+#: ../widgets/ExportDialog.cpp:134 - msgctxt "ExportDialog|" - msgid "Overwrite" - msgstr "Ecraser" - --#: ../widgets/ExportDialog.cpp:132 -+#: ../widgets/ExportDialog.cpp:135 - msgctxt "ExportDialog|" - msgid "Do not overwrite" - msgstr "Ne pas écraser" -@@ -755,7 +775,7 @@ msgctxt "ImportMulti|" - msgid "Rename on token" - msgstr "Renommer dans le jeton" - --#: ../widgets/ImportMulti.cpp:62 -+#: ../widgets/ImportMulti.cpp:64 - #, qt-format - msgctxt "ImportMulti|" - msgid "" -@@ -769,31 +789,30 @@ msgstr "" - "Modèle: %2\n" - "Numéro de série: %3" - --#: ../widgets/ImportMulti.cpp:67 -+#: ../widgets/ImportMulti.cpp:69 - msgctxt "ImportMulti|" - msgid "Manage security token" - msgstr "Gérer les jetons de sécurité" - --#: ../widgets/ImportMulti.cpp:345 -+#: ../widgets/ImportMulti.cpp:281 - #, qt-format - msgctxt "ImportMulti|" - msgid "Details of the item '%1' cannot be shown" - msgstr "Les détails de l'objet '%1' ne peuvent pas être affichés" - --#: ../widgets/ImportMulti.cpp:125 ../widgets/ImportMulti.cpp:287 --#: ../widgets/ImportMulti.cpp:348 -+#: ../widgets/ImportMulti.cpp:103 ../widgets/ImportMulti.cpp:285 - #, qt-format - msgctxt "ImportMulti|" - msgid "The type of the item '%1' is not recognized" - msgstr "Le type de l'objet '%1' n'est pas reconnu" - --#: ../widgets/ImportMulti.cpp:376 -+#: ../widgets/ImportMulti.cpp:313 - #, qt-format - msgctxt "ImportMulti|" - msgid "The file '%1' did not contain PKI data" - msgstr "Le fichier '%1' ne contient pas de données PKI" - --#: ../widgets/ImportMulti.cpp:379 -+#: ../widgets/ImportMulti.cpp:316 - #, qt-format - msgctxt "ImportMulti|" - msgid "The %1 files: '%2' did not contain PKI data" -@@ -809,7 +828,7 @@ msgctxt "ItemProperties|" - msgid "Source" - msgstr "Source" - --#: ../ui/ItemProperties.ui:39 -+#: ../ui/ItemProperties.ui:42 - msgctxt "ItemProperties|" - msgid "Insertion date" - msgstr "Date d'insertion" -@@ -829,7 +848,7 @@ msgctxt "KeyDetail|" - msgid "The internal name of the key used by xca" - msgstr "Le nom interne de la clé utilisé par xca" - --#: ../widgets/KeyDetail.cpp:96 -+#: ../widgets/KeyDetail.cpp:106 - msgctxt "KeyDetail|" - msgid "Security token" - msgstr "Jeton de sécurité" -@@ -899,84 +918,86 @@ msgctxt "KeyDetail|" - msgid "Comment" - msgstr "Commentaire" - --#: ../widgets/KeyDetail.cpp:79 -+#: ../widgets/KeyDetail.cpp:89 - #, qt-format - msgctxt "KeyDetail|" - msgid "Details of the %1 key" - msgstr "Détails de la clé %1" - --#: ../widgets/KeyDetail.cpp:85 -+#: ../widgets/KeyDetail.cpp:95 - msgctxt "KeyDetail|" - msgid "Not available" - msgstr "Non disponible" - --#: ../widgets/KeyDetail.cpp:98 -+#: ../widgets/KeyDetail.cpp:108 - msgctxt "KeyDetail|" - msgid "Available" - msgstr "Disponible" - --#: ../widgets/KeyDetail.cpp:107 -+#: ../widgets/KeyDetail.cpp:117 - msgctxt "KeyDetail|" - msgid "Sub prime" - msgstr "Sous-premier" - --#: ../widgets/KeyDetail.cpp:108 ../widgets/KeyDetail.cpp:117 -+#: ../widgets/KeyDetail.cpp:118 ../widgets/KeyDetail.cpp:127 -+#: ../widgets/KeyDetail.cpp:139 - msgctxt "KeyDetail|" - msgid "Public key" - msgstr "Clé publique" - --#: ../widgets/KeyDetail.cpp:109 ../widgets/KeyDetail.cpp:118 -+#: ../widgets/KeyDetail.cpp:119 ../widgets/KeyDetail.cpp:128 -+#: ../widgets/KeyDetail.cpp:140 - msgctxt "KeyDetail|" - msgid "Private key" - msgstr "Clé privée" - --#: ../widgets/KeyDetail.cpp:119 -+#: ../widgets/KeyDetail.cpp:129 ../widgets/KeyDetail.cpp:141 - msgctxt "KeyDetail|" - msgid "Curve name" - msgstr "Nom de la courbe" - --#: ../widgets/KeyDetail.cpp:129 -+#: ../widgets/KeyDetail.cpp:148 - msgctxt "KeyDetail|" - msgid "Unknown key" - msgstr "Clé inconnue" - --#: ../widgets/KeyTreeView.cpp:28 -+#: ../widgets/KeyTreeView.cpp:30 - msgctxt "KeyTreeView|" - msgid "Change password" - msgstr "Changer le mot de passe" - --#: ../widgets/KeyTreeView.cpp:32 -+#: ../widgets/KeyTreeView.cpp:34 - msgctxt "KeyTreeView|" - msgid "Reset password" - msgstr "Effacer le mot de passe" - --#: ../widgets/KeyTreeView.cpp:44 -+#: ../widgets/KeyTreeView.cpp:46 - msgctxt "KeyTreeView|" - msgid "Change PIN" - msgstr "Changer le NIP" - --#: ../widgets/KeyTreeView.cpp:46 -+#: ../widgets/KeyTreeView.cpp:48 - msgctxt "KeyTreeView|" - msgid "Init PIN with SO PIN (PUK)" - msgstr "Initialiser le NIP avec le PUK" - --#: ../widgets/KeyTreeView.cpp:48 -+#: ../widgets/KeyTreeView.cpp:50 - msgctxt "KeyTreeView|" - msgid "Change SO PIN (PUK)" - msgstr "Changer le PUK" - --#: ../widgets/KeyTreeView.cpp:51 -+#: ../widgets/KeyTreeView.cpp:53 - msgctxt "KeyTreeView|" - msgid "Security token" - msgstr "Jeton de sécurité" - --#: ../widgets/KeyTreeView.cpp:84 ../widgets/KeyTreeView.cpp:102 --#: ../widgets/KeyTreeView.cpp:120 -+#: ../widgets/KeyTreeView.cpp:90 ../widgets/KeyTreeView.cpp:108 -+#: ../widgets/KeyTreeView.cpp:126 - msgctxt "KeyTreeView|" - msgid "This is not a token" - msgstr "Ce n'est pas un jeton" - --#: ../widgets/KeyTreeView.cpp:149 -+#: ../widgets/KeyTreeView.cpp:155 - #, qt-format - msgctxt "KeyTreeView|" - msgid "" -@@ -1036,7 +1057,7 @@ msgctxt "MainWindow|" - msgid "&New Request" - msgstr "&Nouvelle requête" - --#: ../ui/MainWindow.ui:222 ../widgets/MW_menu.cpp:126 -+#: ../ui/MainWindow.ui:222 ../widgets/MW_menu.cpp:132 - msgctxt "MainWindow|" - msgid "Certificates" - msgstr "Certificats" -@@ -1086,7 +1107,7 @@ msgctxt "MainWindow|" - msgid "Revocation lists" - msgstr "Listes de révocation" - --#: ../widgets/MW_database.cpp:333 -+#: ../widgets/MainWindow.cpp:584 - msgctxt "MainWindow|" - msgid "" - "Using or exporting private keys will not be possible without providing the " -@@ -1095,12 +1116,12 @@ msgstr "" - "Il sera impossible d'utiliser ou d'exporter des clés privées sans fournir le " - "mot de passe correct." - --#: ../widgets/MW_database.cpp:341 ../widgets/MainWindow.cpp:868 -+#: ../widgets/MainWindow.cpp:579 ../widgets/MainWindow.cpp:729 - msgctxt "MainWindow|" - msgid "Database" - msgstr "Base de données" - --#: ../widgets/MW_database.cpp:338 -+#: ../widgets/MainWindow.cpp:590 - #, qt-format - msgctxt "MainWindow|" - msgid "" -@@ -1110,34 +1131,12 @@ msgstr "" - "L'algorithme de hachage '%1' sélectionné n'est pas sûr. SVP choisissez au " - "moins 'SHA 224' pour raisons de sécurité." - --#: ../widgets/MW_database.cpp:257 --#, qt-format --msgctxt "MainWindow|" --msgid "" --"Legacy database format detected. Creating a backup copy called: '%1' and " --"converting the database to the new format" --msgstr "" --"Format historique de base de données détecté. Une copie de sauvegarde " --"appelée '%1' est créée et la base de données est convertie au nouveau format" -- --#: ../widgets/MW_database.cpp:263 --msgctxt "MainWindow|" --msgid "Failed to rename the database file, because the target already exists" --msgstr "" --"Le changement de nom du fichier de base de données a échoué parce qu'un " --"autre fichier du même nom existe déjà" -- --#: ../widgets/MW_database.cpp:439 --msgctxt "MainWindow|" --msgid "No deleted items found" --msgstr "Aucun objet détruit n'a été trouvé" -- --#: ../widgets/MW_menu.cpp:79 -+#: ../widgets/MW_menu.cpp:83 - msgctxt "MainWindow|" - msgid "Recent DataBases" - msgstr "Bases de données utilisées recemment" - --#: ../widgets/MW_help.cpp:25 ../widgets/MW_menu.cpp:35 -+#: ../widgets/MW_help.cpp:25 ../widgets/MW_menu.cpp:39 - msgctxt "MainWindow|" - msgid "System" - msgstr "Système" -@@ -1212,242 +1211,236 @@ msgctxt "MainWindow|" - msgid "Turkish" - msgstr "Turc" - --#: ../widgets/MW_menu.cpp:83 -+#: ../widgets/MW_menu.cpp:89 - msgctxt "MainWindow|" - msgid "Language" - msgstr "Langue" - --#: ../widgets/MW_menu.cpp:92 -+#: ../widgets/MW_menu.cpp:98 - msgctxt "MainWindow|" - msgid "&File" - msgstr "&Fichier" - --#: ../widgets/MW_menu.cpp:99 -+#: ../widgets/MW_menu.cpp:105 - msgctxt "MainWindow|" - msgid "Open Remote DataBase" - msgstr "Ouvrir une base de données externe" - --#: ../widgets/MW_menu.cpp:103 -+#: ../widgets/MW_menu.cpp:109 - msgctxt "MainWindow|" - msgid "Set as default DataBase" - msgstr "Définir comme base de données par défaut" - --#: ../widgets/MW_menu.cpp:93 -+#: ../widgets/MW_menu.cpp:99 - msgctxt "MainWindow|" - msgid "New DataBase" - msgstr "Nouvelle base de données" - --#: ../widgets/MW_menu.cpp:96 -+#: ../widgets/MW_menu.cpp:102 - msgctxt "MainWindow|" - msgid "Open DataBase" - msgstr "Ouvrir une base de données" - --#: ../widgets/MW_menu.cpp:105 -+#: ../widgets/MW_menu.cpp:111 - msgctxt "MainWindow|" - msgid "Close DataBase" - msgstr "Fermer la base de données" - --#: ../widgets/MW_menu.cpp:108 -+#: ../widgets/MW_menu.cpp:114 - msgctxt "MainWindow|" - msgid "Options" - msgstr "Options" - --#: ../widgets/MW_menu.cpp:116 -+#: ../widgets/MW_menu.cpp:122 - msgctxt "MainWindow|" - msgid "Exit" - msgstr "Quitter" - --#: ../widgets/MW_menu.cpp:123 -+#: ../widgets/MW_menu.cpp:129 - msgctxt "MainWindow|" - msgid "I&mport" - msgstr "I&mporter" - --#: ../widgets/MW_menu.cpp:124 -+#: ../widgets/MW_menu.cpp:130 - msgctxt "MainWindow|" - msgid "Keys" - msgstr "Clés" - --#: ../widgets/MW_menu.cpp:125 -+#: ../widgets/MW_menu.cpp:131 - msgctxt "MainWindow|" - msgid "Requests" - msgstr "Requêtes" - --#: ../widgets/MW_menu.cpp:127 -+#: ../widgets/MW_menu.cpp:133 - msgctxt "MainWindow|" - msgid "PKCS#12" - msgstr "PKCS#12" - --#: ../widgets/MW_menu.cpp:128 -+#: ../widgets/MW_menu.cpp:134 - msgctxt "MainWindow|" - msgid "PKCS#7" - msgstr "PKCS#7" - --#: ../widgets/MW_menu.cpp:129 -+#: ../widgets/MW_menu.cpp:135 - msgctxt "MainWindow|" - msgid "Template" - msgstr "Modèle" - --#: ../widgets/MW_menu.cpp:130 -+#: ../widgets/MW_menu.cpp:136 - msgctxt "MainWindow|" - msgid "Revocation list" - msgstr "Liste de révocation" - --#: ../widgets/MW_menu.cpp:131 -+#: ../widgets/MW_menu.cpp:137 - msgctxt "MainWindow|" - msgid "PEM file" - msgstr "Fichier PEM" - --#: ../widgets/MW_menu.cpp:132 -+#: ../widgets/MW_menu.cpp:138 - msgctxt "MainWindow|" - msgid "Paste PEM file" - msgstr "Coller un fichier PEM" - --#: ../widgets/MW_menu.cpp:135 -+#: ../widgets/MW_menu.cpp:141 - msgctxt "MainWindow|" - msgid "Token" - msgstr "Jeton" - --#: ../widgets/MW_menu.cpp:152 -+#: ../widgets/MW_menu.cpp:158 - msgctxt "MainWindow|" - msgid "Export Certificate &Index hierarchy" - msgstr "Exporter la hiérarchie de l'index des certificats" - --#: ../widgets/MW_menu.cpp:165 -+#: ../widgets/MW_menu.cpp:171 - msgctxt "MainWindow|" - msgid "Content" - msgstr "Contenu" - --#: ../widgets/MW_menu.cpp:136 -+#: ../widgets/MW_menu.cpp:142 - msgctxt "MainWindow|" - msgid "&Manage Security token" - msgstr "&Gérer le jeton de sécurité" - --#: ../widgets/MW_menu.cpp:138 -+#: ../widgets/MW_menu.cpp:144 - msgctxt "MainWindow|" - msgid "&Init Security token" - msgstr "&Initialiser le jeton de sécurité" - --#: ../widgets/MW_menu.cpp:140 -+#: ../widgets/MW_menu.cpp:146 - msgctxt "MainWindow|" - msgid "&Change PIN" - msgstr "&Changer le NIP" - --#: ../widgets/MW_menu.cpp:142 -+#: ../widgets/MW_menu.cpp:148 - msgctxt "MainWindow|" - msgid "Change &SO PIN" - msgstr "Changer le P&UK" - --#: ../widgets/MW_menu.cpp:144 -+#: ../widgets/MW_menu.cpp:150 - msgctxt "MainWindow|" - msgid "Init PIN" - msgstr "Initialiser le NIP" - --#: ../widgets/MW_menu.cpp:147 -+#: ../widgets/MW_menu.cpp:153 - msgctxt "MainWindow|" - msgid "Extra" - msgstr "Extra" - --#: ../widgets/MW_menu.cpp:148 -+#: ../widgets/MW_menu.cpp:154 - msgctxt "MainWindow|" - msgid "&Dump DataBase" - msgstr "C&licher la base de données" - --#: ../widgets/MW_menu.cpp:150 -+#: ../widgets/MW_menu.cpp:156 - msgctxt "MainWindow|" - msgid "&Export Certificate Index" - msgstr "Exporter l'index des certificats" - --#: ../widgets/MW_menu.cpp:154 -+#: ../widgets/MW_menu.cpp:160 - msgctxt "MainWindow|" - msgid "C&hange DataBase password" - msgstr "C&hanger le mot de passe de la base de données" - --#: ../widgets/MW_menu.cpp:157 -+#: ../widgets/MW_menu.cpp:163 - msgctxt "MainWindow|" - msgid "&Undelete items" - msgstr "&Récupérer des objets détruits" - --#: ../widgets/MW_menu.cpp:160 -+#: ../widgets/MW_menu.cpp:166 - msgctxt "MainWindow|" - msgid "Generate DH parameter" - msgstr "Générer le paramètre DH" - --#: ../widgets/MW_menu.cpp:162 -+#: ../widgets/MW_menu.cpp:168 - msgctxt "MainWindow|" - msgid "OID Resolver" - msgstr "Convertisseur d'OID" - --#: ../widgets/MW_menu.cpp:164 -+#: ../widgets/MW_menu.cpp:170 - msgctxt "MainWindow|" - msgid "&Help" - msgstr "&Aide" - --#: ../widgets/MW_menu.cpp:167 -+#: ../widgets/MW_menu.cpp:173 - msgctxt "MainWindow|" - msgid "About" - msgstr "A propos" - --#: ../widgets/MainWindow.cpp:276 --#, qt-format --msgctxt "MainWindow|" --msgid "no such option: %1" --msgstr "'%1' n'est pas une option" -- --#: ../widgets/MainWindow.cpp:366 -+#: ../widgets/MainWindow.cpp:254 - msgctxt "MainWindow|" - msgid "Import PEM data" - msgstr "Importer les données PEM" - --#: ../widgets/MainWindow.cpp:395 -+#: ../widgets/MainWindow.cpp:283 - #, qt-format - msgctxt "MainWindow|" - msgid "Please enter the original SO PIN (PUK) of the token '%1'" - msgstr "SVP saisir le PUK original du jeton '%1'" - --#: ../widgets/MainWindow.cpp:134 ../widgets/MainWindow.cpp:869 -+#: ../widgets/MainWindow.cpp:118 ../widgets/MainWindow.cpp:731 - msgctxt "MainWindow|" - msgid "Search" - msgstr "Rechercher" - --#: ../widgets/MainWindow.cpp:401 -+#: ../widgets/MainWindow.cpp:289 - #, qt-format - msgctxt "MainWindow|" - msgid "Please enter the new SO PIN (PUK) for the token '%1'" - msgstr "SVP saisir le nouveau NIP SO (PUK) pour le jeton: '%1'" - --#: ../widgets/MainWindow.cpp:408 -+#: ../widgets/MainWindow.cpp:296 - #, qt-format - msgctxt "MainWindow|" - msgid "The new label of the token '%1'" - msgstr "La nouvelle étiquette du jeton '%1'" - --#: ../widgets/MainWindow.cpp:516 -+#: ../widgets/MainWindow.cpp:404 - #, qt-format - msgctxt "MainWindow|" - msgid "The token '%1' did not contain any keys or certificates" - msgstr "Le jeton '%1' ne contient aucune clé ni aucun certificat" - --#: ../widgets/MainWindow.cpp:574 -+#: ../widgets/MainWindow.cpp:450 - msgctxt "MainWindow|" - msgid "Current Password" - msgstr "Mot de passe actuel" - --#: ../widgets/MainWindow.cpp:575 -+#: ../widgets/MainWindow.cpp:451 - msgctxt "MainWindow|" - msgid "Please enter the current database password" - msgstr "SVP saisir le mot de passe de la base de données" - --#: ../widgets/MainWindow.cpp:585 -+#: ../widgets/MainWindow.cpp:461 - msgctxt "MainWindow|" - msgid "The entered password is wrong" - msgstr "Le mot de passe renseigné est inexact" - --#: ../widgets/MainWindow.cpp:590 ../widgets/MainWindow.cpp:668 -+#: ../widgets/MainWindow.cpp:466 - msgctxt "MainWindow|" - msgid "New Password" - msgstr "Nouveau mot de passe" - --#: ../widgets/MainWindow.cpp:590 -+#: ../widgets/MainWindow.cpp:466 - msgctxt "MainWindow|" - msgid "" - "Please enter the new password to encrypt your private keys in the database-" -@@ -1456,70 +1449,28 @@ msgstr "" - "SVP saisir le nouveau mot de passe pour chiffrer les clés privées dans le " - "fichier de base de données" - --#: ../widgets/MainWindow.cpp:614 -+#: ../widgets/MainWindow.cpp:490 - msgctxt "MainWindow|" - msgid "Transaction start failed" - msgstr "Le démarrage de la transaction a échoué" - --#: ../widgets/MainWindow.cpp:668 --#, qt-format --msgctxt "MainWindow|" --msgid "" --"Please enter a password, that will be used to encrypt your private keys in " --"the database:\n" --"%1" --msgstr "" --"Veuillez saisir un mot de passe, qui sera utilisé pour chiffrer vos clés " --"privées dans la base de données:\n" --"%1" -- --#: ../widgets/MainWindow.cpp:689 --msgctxt "MainWindow|" --msgid "Password verify error, please try again" --msgstr "La vérification du mot de passe a échoué. SVP essayez encore" -- --#: ../widgets/MainWindow.cpp:690 --msgctxt "MainWindow|" --msgid "Password" --msgstr "Mot de passe" -- --#: ../widgets/MainWindow.cpp:691 --#, qt-format --msgctxt "MainWindow|" --msgid "" --"Please enter the password for unlocking the database:\n" --"%1" --msgstr "" --"Veuillez entrer le mot passe pour déverrouiller la base de données:\n" --"%1" -- --#: ../widgets/MainWindow.cpp:710 --msgctxt "MainWindow|" --msgid "The following error occurred:" --msgstr "L'erreur suivante s'est produite:" -- --#: ../widgets/MainWindow.cpp:712 --msgctxt "MainWindow|" --msgid "Copy to Clipboard" --msgstr "Copier dans le presse-papier" -- --#: ../widgets/MainWindow.cpp:781 -+#: ../widgets/MainWindow.cpp:648 - msgctxt "MainWindow|" - msgid "Certificate Index ( index.txt )" - msgstr "Index des certificats ( index.txt )" - --#: ../widgets/MainWindow.cpp:782 ../widgets/MainWindow.cpp:842 -+#: ../widgets/MainWindow.cpp:649 ../widgets/MainWindow.cpp:704 - msgctxt "MainWindow|" - msgid "All files ( * )" - msgstr "Tous les fichiers ( * )" - --#: ../widgets/MainWindow.cpp:811 -+#: ../widgets/MainWindow.cpp:673 - #, qt-format - msgctxt "MainWindow|" - msgid "Diffie-Hellman parameters saved as: %1" - msgstr "Les paramètres Diffie-Hellman on été sauvegardés dans: %1" - --#: ../widgets/MainWindow.cpp:827 -+#: ../widgets/MainWindow.cpp:689 - msgctxt "MainWindow|" - msgid "" - "Diffie-Hellman parameters are needed for different applications, but not " -@@ -1600,6 +1551,11 @@ msgctxt "NewCrl|" - msgid "Hash algorithm" - msgstr "Algorithme de hachage" - -+#: ../widgets/NewCrl.cpp:77 -+msgctxt "NewCrl|" -+msgid "Create CRL" -+msgstr "Créer une liste de révocation" -+ - #: ../ui/NewKey.ui:86 - msgctxt "NewKey|" - msgid "Please give a name to the new key and select the desired keysize" -@@ -1651,7 +1607,7 @@ msgctxt "NewKey|" - msgid "Remember as default" - msgstr "Enregistrer comme valeur par défaut" - --#: ../widgets/NewKey.cpp:181 -+#: ../widgets/NewKey.cpp:137 - msgctxt "NewKey|" - msgid "Create" - msgstr "Créer" -@@ -1738,7 +1694,7 @@ msgctxt "NewX509|" - msgid "Apply all" - msgstr "Appliquer tout" - --#: ../ui/NewX509.ui:336 ../widgets/NewX509.cpp:586 -+#: ../ui/NewX509.ui:336 ../widgets/NewX509.cpp:592 - msgctxt "NewX509|" - msgid "Subject" - msgstr "Sujet" -@@ -1910,7 +1866,7 @@ msgid "DNS: IP: URI: email: RID:" - msgstr "DNS: IP: URI: email: RID:" - - #: ../ui/NewX509.ui:745 ../ui/NewX509.ui:762 ../ui/NewX509.ui:795 --#: ../ui/NewX509.ui:831 ../widgets/NewX509.cpp:961 -+#: ../ui/NewX509.ui:831 ../widgets/NewX509.cpp:992 - msgctxt "NewX509|" - msgid "Edit" - msgstr "Modifier" -@@ -1935,7 +1891,7 @@ msgctxt "NewX509|" - msgid "Advanced" - msgstr "Avancé" - --#: ../ui/NewX509.ui:1163 ../widgets/NewX509.cpp:971 -+#: ../ui/NewX509.ui:1163 ../widgets/NewX509.cpp:1002 - msgctxt "NewX509|" - msgid "Validate" - msgstr "Valider" -@@ -1954,123 +1910,123 @@ msgstr "" - "Ce nom est seulement utilisé par xca et n'apparaît pas dans le certificat " - "exporté" - --#: ../widgets/NewX509.cpp:254 -+#: ../widgets/NewX509.cpp:270 - msgctxt "NewX509|" - msgid "Critical" - msgstr "Critique" - --#: ../widgets/NewX509.cpp:294 -+#: ../widgets/NewX509.cpp:310 - msgctxt "NewX509|" - msgid "Create Certificate signing request" - msgstr "Créer une requête de signature de certificat" - --#: ../widgets/NewX509.cpp:321 -+#: ../widgets/NewX509.cpp:336 - #, qt-format - msgctxt "NewX509|" - msgid "minimum size: %1" - msgstr "taille minimale: %1" - --#: ../widgets/NewX509.cpp:323 -+#: ../widgets/NewX509.cpp:338 - #, qt-format - msgctxt "NewX509|" - msgid "maximum size: %1" - msgstr "taille maximale: %1" - --#: ../widgets/NewX509.cpp:325 -+#: ../widgets/NewX509.cpp:340 - msgctxt "NewX509|" - msgid "only a-z A-Z 0-9 '()+,-./:=?" - msgstr "seulement a-z A-Z 0-9 '()+,-./:=?" - --#: ../widgets/NewX509.cpp:329 -+#: ../widgets/NewX509.cpp:344 - msgctxt "NewX509|" - msgid "only 7-bit clean characters" - msgstr "seulement des caractères 7-bit ASCII imprimables" - --#: ../widgets/NewX509.cpp:354 -+#: ../widgets/NewX509.cpp:369 - msgctxt "NewX509|" - msgid "Edit XCA template" - msgstr "Editer un modèle XCA" - --#: ../widgets/NewX509.cpp:367 -+#: ../widgets/NewX509.cpp:382 - msgctxt "NewX509|" - msgid "Create x509 Certificate" - msgstr "Créer un certificat x509" - --#: ../widgets/NewX509.cpp:718 -+#: ../widgets/NewX509.cpp:750 - #, qt-format - msgctxt "NewX509|" - msgid "Template '%1' applied" - msgstr "Le modèle '%1' a été appliqué" - --#: ../widgets/NewX509.cpp:725 -+#: ../widgets/NewX509.cpp:757 - #, qt-format - msgctxt "NewX509|" - msgid "Subject applied from template '%1'" - msgstr "Sujet extrait du modèle '%1'" - --#: ../widgets/NewX509.cpp:733 -+#: ../widgets/NewX509.cpp:765 - #, qt-format - msgctxt "NewX509|" - msgid "Extensions applied from template '%1'" - msgstr "Les extensions du modéle '%1' ont été appliquées" - --#: ../widgets/NewX509.cpp:748 -+#: ../widgets/NewX509.cpp:780 - #, qt-format - msgctxt "NewX509|" - msgid "New key '%1' created" - msgstr "La nouvelle clé '%1' a été créée" - --#: ../widgets/NewX509.cpp:994 -+#: ../widgets/NewX509.cpp:1025 - msgctxt "NewX509|" - msgid "Other Tabs" - msgstr "Autres Onglets" - --#: ../widgets/NewX509.cpp:1008 -+#: ../widgets/NewX509.cpp:1039 - msgctxt "NewX509|" - msgid "Advanced Tab" - msgstr "Onglet Avancé" - --#: ../widgets/NewX509.cpp:1015 -+#: ../widgets/NewX509.cpp:1046 - msgctxt "NewX509|" - msgid "Errors" - msgstr "Erreurs" - --#: ../widgets/NewX509.cpp:1033 -+#: ../widgets/NewX509.cpp:1064 - msgctxt "NewX509|" - msgid "From PKCS#10 request" - msgstr "A partir d'une requête en PKCS#10" - --#: ../widgets/NewX509.cpp:1136 ../widgets/NewX509.cpp:1149 --#: ../widgets/NewX509.cpp:1168 ../widgets/NewX509.cpp:1180 --#: ../widgets/NewX509.cpp:1196 ../widgets/NewX509.cpp:1210 --#: ../widgets/NewX509.cpp:1244 ../widgets/NewX509.cpp:1255 --#: ../widgets/NewX509.cpp:1278 ../widgets/NewX509.cpp:1301 --#: ../widgets/NewX509.cpp:1327 ../widgets/NewX509.cpp:1347 -+#: ../widgets/NewX509.cpp:1172 ../widgets/NewX509.cpp:1185 -+#: ../widgets/NewX509.cpp:1204 ../widgets/NewX509.cpp:1216 -+#: ../widgets/NewX509.cpp:1232 ../widgets/NewX509.cpp:1246 -+#: ../widgets/NewX509.cpp:1280 ../widgets/NewX509.cpp:1299 -+#: ../widgets/NewX509.cpp:1322 ../widgets/NewX509.cpp:1345 -+#: ../widgets/NewX509.cpp:1371 ../widgets/NewX509.cpp:1391 - msgctxt "NewX509|" - msgid "Abort rollout" - msgstr "Interrompre le déploiement" - --#: ../widgets/NewX509.cpp:1145 -+#: ../widgets/NewX509.cpp:1181 - msgctxt "NewX509|" - msgid "The following length restrictions of RFC3280 are violated:" - msgstr "" - "Pour être en conformité avec la RFC3280, les règles de restriction de " - "longueur suivantes ne sont pas respectées:" - --#: ../widgets/NewX509.cpp:1148 ../widgets/NewX509.cpp:1209 -+#: ../widgets/NewX509.cpp:1184 ../widgets/NewX509.cpp:1245 - msgctxt "NewX509|" - msgid "Edit subject" - msgstr "Modifier le sujet" - --#: ../widgets/NewX509.cpp:1150 ../widgets/NewX509.cpp:1211 --#: ../widgets/NewX509.cpp:1256 ../widgets/NewX509.cpp:1279 --#: ../widgets/NewX509.cpp:1302 ../widgets/NewX509.cpp:1328 --#: ../widgets/NewX509.cpp:1348 -+#: ../widgets/NewX509.cpp:1186 ../widgets/NewX509.cpp:1247 -+#: ../widgets/NewX509.cpp:1300 ../widgets/NewX509.cpp:1323 -+#: ../widgets/NewX509.cpp:1346 ../widgets/NewX509.cpp:1372 -+#: ../widgets/NewX509.cpp:1392 - msgctxt "NewX509|" - msgid "Continue rollout" - msgstr "Continuer le déploiement" - --#: ../widgets/NewX509.cpp:1166 -+#: ../widgets/NewX509.cpp:1202 - msgctxt "NewX509|" - msgid "" - "The verification of the Certificate request failed.\n" -@@ -2079,12 +2035,12 @@ msgstr "" - "La vérification de la requête de signature à échoué.\n" - "Le déploiement devrait être interrompu." - --#: ../widgets/NewX509.cpp:1167 -+#: ../widgets/NewX509.cpp:1203 - msgctxt "NewX509|" - msgid "Continue anyway" - msgstr "Continuer quand-même" - --#: ../widgets/NewX509.cpp:1178 -+#: ../widgets/NewX509.cpp:1214 - msgctxt "NewX509|" - msgid "" - "The internal name and the common name are empty.\n" -@@ -2093,22 +2049,22 @@ msgstr "" - "Le nom interne et le nom commun sont vides.\n" - "SVP saisir au moins le nom interne." - --#: ../widgets/NewX509.cpp:1179 -+#: ../widgets/NewX509.cpp:1215 - msgctxt "NewX509|" - msgid "Edit name" - msgstr "Modifier le nom" - --#: ../widgets/NewX509.cpp:1194 -+#: ../widgets/NewX509.cpp:1230 - msgctxt "NewX509|" - msgid "There is no Key selected for signing." - msgstr "Aucune clé n'est sélectionnée pour la signature." - --#: ../widgets/NewX509.cpp:1195 -+#: ../widgets/NewX509.cpp:1231 - msgctxt "NewX509|" - msgid "Select key" - msgstr "Sélectionner la clé" - --#: ../widgets/NewX509.cpp:1207 -+#: ../widgets/NewX509.cpp:1243 - #, qt-format - msgctxt "NewX509|" - msgid "" -@@ -2120,22 +2076,42 @@ msgstr "" - "%1\n" - "bien que vous les avez déclarées comme obligatoires dans le menu des options." - --#: ../widgets/NewX509.cpp:1241 -+#: ../widgets/NewX509.cpp:1277 - msgctxt "NewX509|" - msgid "The key you selected for signing is not a private one." - msgstr "La clé sélectionnée pour la signature n'est pas une clé privée." - --#: ../widgets/NewX509.cpp:1242 -+#: ../widgets/NewX509.cpp:1278 - msgctxt "NewX509|" - msgid "Select other signer" - msgstr "Sélectionner un autre signataire" - --#: ../widgets/NewX509.cpp:1242 -+#: ../widgets/NewX509.cpp:1278 - msgctxt "NewX509|" - msgid "Select other key" - msgstr "Sélectionner une autre clé" - --#: ../widgets/NewX509.cpp:1252 -+#: ../widgets/NewX509.cpp:1288 -+#, qt-format -+msgctxt "NewX509|" -+msgid "" -+"The currently selected hash algorithm '%1' is insecure and should not be " -+"used." -+msgstr "" -+"L'algorithme de hachage sélectionné '%1' est peu sûr et ne devrait pas être " -+"utilisé." -+ -+#: ../widgets/NewX509.cpp:1289 -+msgctxt "NewX509|" -+msgid "Select other algorithm" -+msgstr "Sélectionner un autre algorithme" -+ -+#: ../widgets/NewX509.cpp:1290 -+msgctxt "NewX509|" -+msgid "Use algorithm anyway" -+msgstr "Utiliser quand même cet algorithme" -+ -+#: ../widgets/NewX509.cpp:1296 - msgctxt "NewX509|" - msgid "" - "The certificate will be earlier valid than the signer. This is probably not " -@@ -2144,18 +2120,18 @@ msgstr "" - "Le certificat serait valide avant son signataire. Ce n'est probablement pas " - "ce qui est désiré." - --#: ../widgets/NewX509.cpp:1254 ../widgets/NewX509.cpp:1277 --#: ../widgets/NewX509.cpp:1300 -+#: ../widgets/NewX509.cpp:1298 ../widgets/NewX509.cpp:1321 -+#: ../widgets/NewX509.cpp:1344 - msgctxt "NewX509|" - msgid "Edit dates" - msgstr "Modifier les limites de validité" - --#: ../widgets/NewX509.cpp:1257 ../widgets/NewX509.cpp:1280 -+#: ../widgets/NewX509.cpp:1301 ../widgets/NewX509.cpp:1324 - msgctxt "NewX509|" - msgid "Adjust date and continue" - msgstr "Ajuster la date et continuer" - --#: ../widgets/NewX509.cpp:1275 -+#: ../widgets/NewX509.cpp:1319 - msgctxt "NewX509|" - msgid "" - "The certificate will be longer valid than the signer. This is probably not " -@@ -2164,7 +2140,7 @@ msgstr "" - "Le certificat serait valide plus longtemps que son signataire. Ce n'est " - "probablement pas ce qui est désiré." - --#: ../widgets/NewX509.cpp:1298 -+#: ../widgets/NewX509.cpp:1342 - msgctxt "NewX509|" - msgid "" - "The certificate will be out of date before it becomes valid. You most " -@@ -2173,7 +2149,7 @@ msgstr "" - "Le certificat serait échu avant de devenir actif. Vous avez probablement " - "interverti les deux dates." - --#: ../widgets/NewX509.cpp:1319 -+#: ../widgets/NewX509.cpp:1363 - msgctxt "NewX509|" - msgid "" - "The certificate contains invalid or duplicate extensions. Check the " -@@ -2182,7 +2158,7 @@ msgstr "" - "Le certificat contient des extensions dupliquées ou invalides. Vérifier la " - "validité sur l'onglet \"Avancé\"." - --#: ../widgets/NewX509.cpp:1322 -+#: ../widgets/NewX509.cpp:1366 - msgctxt "NewX509|" - msgid "" - "The certificate contains no extensions. You may apply the extensions of one " -@@ -2191,12 +2167,12 @@ msgstr "" - "Le certificat ne contient aucune extension. Vous pouvez appliquer des " - "extensions à partir de l'un des modèles pour définir l'usage du certificat" - --#: ../widgets/NewX509.cpp:1326 ../widgets/NewX509.cpp:1346 -+#: ../widgets/NewX509.cpp:1370 ../widgets/NewX509.cpp:1390 - msgctxt "NewX509|" - msgid "Edit extensions" - msgstr "Modifier les extensions" - --#: ../widgets/NewX509.cpp:1345 -+#: ../widgets/NewX509.cpp:1389 - msgctxt "NewX509|" - msgid "" - "The subject alternative name shall contain a copy of the common name. " -@@ -2205,7 +2181,7 @@ msgstr "" - "Le nom alternatif du sujet devrait contenir une copie du nom commun. " - "Cependant ce dernier est vide." - --#: ../widgets/NewX509_ext.cpp:195 -+#: ../widgets/NewX509_ext.cpp:189 - #, qt-format - msgctxt "NewX509|" - msgid "Configfile error on line %1\n" -@@ -2276,7 +2252,7 @@ msgctxt "OpenDb|" - msgid "Password" - msgstr "Mot de passe" - --#: ../ui/OpenDb.ui:142 ../widgets/OpenDb.cpp:58 -+#: ../ui/OpenDb.ui:142 ../widgets/OpenDb.cpp:50 - msgctxt "OpenDb|" - msgid "Database name" - msgstr "Nom de la base de données" -@@ -2286,7 +2262,7 @@ msgctxt "OpenDb|" - msgid "Table prefix" - msgstr "Préfixe du nom des tables" - --#: ../widgets/OpenDb.cpp:151 -+#: ../widgets/OpenDb.cpp:121 - msgctxt "OpenDb|" - msgid "" - "No SqLite3 driver available. Please install the qt-sqlite package of your " -@@ -2295,25 +2271,6 @@ msgstr "" - "Le pilote SqLite3 n'est pas disponible. SVP installez le paquetage qt-sqlite " - "de votre distribution" - --#: ../widgets/OpenDb.cpp:195 --#, qt-format --msgctxt "OpenDb|" --msgid "" --"Please enter the password to access the database server %2 as user '%1'." --msgstr "" --"SVP saisir le mot de passe de l'utilisateur '%1' sur le serveur de base de " --"données %2." -- --#: ../widgets/OpenDb.cpp:234 --msgctxt "OpenDb|" --msgid "" --"The database driver does not support transactions. This may happen if the " --"client and server have different versions. Continue with care." --msgstr "" --"Le pilote de base de données ne supporte pas les transactions. Ceci peut se " --"produire si le client et le serveur n'ont pas les mêmes versions. Continuez " --"avec prudence" -- - #: ../ui/Options.ui:28 - msgctxt "Options|" - msgid "XCA Options" -@@ -2446,37 +2403,37 @@ msgctxt "Options|" - msgid "Search" - msgstr "Rechercher" - --#: ../widgets/Options.cpp:31 -+#: ../widgets/Options.cpp:34 - msgctxt "Options|" - msgid "Printable string or UTF8 (default)" - msgstr "Chaîne imprimable ou UTF8 (défaut)" - --#: ../widgets/Options.cpp:32 -+#: ../widgets/Options.cpp:35 - msgctxt "Options|" - msgid "PKIX recommendation in RFC2459" - msgstr "La recommandation PKIX est dans la RFC2459" - --#: ../widgets/Options.cpp:33 -+#: ../widgets/Options.cpp:36 - msgctxt "Options|" - msgid "No BMP strings, only printable and T61" - msgstr "Pas de chaîne BMP, seulement imprimable et T61" - --#: ../widgets/Options.cpp:34 -+#: ../widgets/Options.cpp:37 - msgctxt "Options|" - msgid "UTF8 strings only (RFC2459)" - msgstr "Chaînes UTF8 uniquement (RFC2459)" - --#: ../widgets/Options.cpp:35 -+#: ../widgets/Options.cpp:38 - msgctxt "Options|" - msgid "All strings" - msgstr "Toutes les chaînes" - --#: ../widgets/Options.cpp:57 -+#: ../widgets/Options.cpp:60 - msgctxt "Options|" - msgid "Days" - msgstr "Jours" - --#: ../widgets/Options.cpp:57 -+#: ../widgets/Options.cpp:60 - msgctxt "Options|" - msgid "Weeks" - msgstr "Semaines" -@@ -2495,19 +2452,24 @@ msgctxt "PwDialog|" - msgid "Take as HEX string" - msgstr "Exprimé en hexadécimal" - --#: ../widgets/PwDialog.cpp:85 -+#: ../widgets/PwDialog.cpp:44 -+msgctxt "PwDialog|" -+msgid "Password" -+msgstr "Mot de passe" -+ -+#: ../widgets/PwDialog.cpp:96 - #, qt-format - msgctxt "PwDialog|" - msgid "Repeat %1" - msgstr "Répéter %1" - --#: ../widgets/PwDialog.cpp:98 -+#: ../widgets/PwDialog.cpp:109 - #, qt-format - msgctxt "PwDialog|" - msgid "%1 mismatch" - msgstr "%1 ne correspond pas" - --#: ../widgets/PwDialog.cpp:105 -+#: ../widgets/PwDialog.cpp:116 - msgctxt "PwDialog|" - msgid "" - "Hex password must only contain the characters '0' - '9' and 'a' - 'f' and it " -@@ -2516,62 +2478,92 @@ msgstr "" - "Un mot de passe hexadécimal peut seulement contenir les caractères '0' à '9' " - "et 'a' à 'f' et il doit consister en un nombre pair de caractères" - --#: ../widgets/PwDialog.cpp:131 -+#: ../widgets/PwDialog.cpp:145 - msgctxt "PwDialog|" --msgid "E&xit" --msgstr "&Quitter" -+msgid "Exit" -+msgstr "Quitter" -+ -+#: ../widgets/XcaWarning.cpp:28 -+msgctxt "QMessageBox|" -+msgid "Ok" -+msgstr "OK" -+ -+#: ../widgets/XcaWarning.cpp:29 -+msgctxt "QMessageBox|" -+msgid "Close" -+msgstr "Fermer" -+ -+#: ../widgets/XcaWarning.cpp:30 -+msgctxt "QMessageBox|" -+msgid "Cancel" -+msgstr "Annuler" -+ -+#: ../widgets/XcaWarning.cpp:31 -+msgctxt "QMessageBox|" -+msgid "Apply" -+msgstr "Appliquer" -+ -+#: ../widgets/XcaWarning.cpp:32 -+msgctxt "QMessageBox|" -+msgid "Yes" -+msgstr "Oui" - --#: ../lib/asn1time.cpp:155 -+#: ../widgets/XcaWarning.cpp:33 -+msgctxt "QMessageBox|" -+msgid "No" -+msgstr "Non" -+ -+#: ../lib/asn1time.cpp:157 - msgctxt "QObject|" - msgid "Undefined" - msgstr "Indéfini" - --#: ../lib/asn1time.cpp:157 -+#: ../lib/asn1time.cpp:159 - msgctxt "QObject|" - msgid "Broken / Invalid" - msgstr "Invalide" - --#: ../lib/asn1time.cpp:203 -+#: ../lib/asn1time.cpp:205 - #, qt-format - msgctxt "QObject|" - msgid "in %1 seconds" - msgstr "dans %1 secondes" - --#: ../lib/asn1time.cpp:204 -+#: ../lib/asn1time.cpp:206 - #, qt-format - msgctxt "QObject|" - msgid "%1 seconds ago" - msgstr "il y a %1 secondes" - --#: ../lib/asn1time.cpp:207 -+#: ../lib/asn1time.cpp:209 - #, qt-format - msgctxt "QObject|" - msgid "in %1 minutes" - msgstr "dans %1 minutes" - --#: ../lib/asn1time.cpp:208 -+#: ../lib/asn1time.cpp:210 - #, qt-format - msgctxt "QObject|" - msgid "%1 minutes ago" - msgstr "il y a %1 minutes" - --#: ../lib/asn1time.cpp:210 -+#: ../lib/asn1time.cpp:212 - msgctxt "QObject|" - msgid "Yesterday" - msgstr "Hier" - --#: ../lib/asn1time.cpp:212 -+#: ../lib/asn1time.cpp:214 - msgctxt "QObject|" - msgid "Tomorrow" - msgstr "Demain" - --#: ../lib/asn1time.cpp:215 -+#: ../lib/asn1time.cpp:217 - #, qt-format - msgctxt "QObject|" - msgid "in %1 hours" - msgstr "dans %1 heures" - --#: ../lib/asn1time.cpp:216 -+#: ../lib/asn1time.cpp:218 - #, qt-format - msgctxt "QObject|" - msgid "%1 hours ago" -@@ -2587,7 +2579,7 @@ msgctxt "QObject|" - msgid "Error finding endmarker of string" - msgstr "Erreur: une marque de fin de chaîne n'a pas été trouvée" - --#: ../lib/exception.h:61 -+#: ../lib/exception.h:60 - #, qt-format - msgctxt "QObject|" - msgid "Out of Memory at %1:%2" -@@ -2598,7 +2590,7 @@ msgctxt "QObject|" - msgid "All files ( * )" - msgstr "Tous les fichiers ( * )" - --#: ../lib/load_obj.cpp:55 -+#: ../lib/load_obj.cpp:56 - msgctxt "QObject|" - msgid "" - "PKI Keys ( *.pem *.der *.key );; PKCS#8 Keys ( *.p8 *.pk8 );; Microsoft PVK " -@@ -2607,151 +2599,151 @@ msgstr "" - "Clés PKI ( *.pem *.der *.key );; Clés PKCS#8 ( *.p8 *.pk8 );; Clés Microsoft " - "PVK ( *.pvk );; Clés publiques SSH ( *.pub );;" - --#: ../lib/load_obj.cpp:59 -+#: ../lib/load_obj.cpp:60 - msgctxt "QObject|" - msgid "Import RSA key" - msgstr "Importer une clé RSA" - --#: ../lib/load_obj.cpp:71 -+#: ../lib/load_obj.cpp:72 - msgctxt "QObject|" - msgid "PKCS#10 CSR ( *.pem *.der *.csr );; " - msgstr "PKCS#10 CSR ( *.pem *.der *.csr );;" - --#: ../lib/load_obj.cpp:72 -+#: ../lib/load_obj.cpp:73 - msgctxt "QObject|" - msgid "Import Request" - msgstr "Importer une requête" - --#: ../lib/load_obj.cpp:84 -+#: ../lib/load_obj.cpp:85 - msgctxt "QObject|" - msgid "Certificates ( *.pem *.der *.crt *.cer );;" - msgstr "Certificats ( *.pem *.der *.crt *.cer );;" - --#: ../lib/load_obj.cpp:85 -+#: ../lib/load_obj.cpp:86 - msgctxt "QObject|" - msgid "Import X.509 Certificate" - msgstr "Importer un certificat X.509" - --#: ../lib/load_obj.cpp:97 -+#: ../lib/load_obj.cpp:98 - msgctxt "QObject|" - msgid "PKCS#7 data ( *.p7s *.p7m *.p7b );;" - msgstr "Données PKCS#7 ( *.p7s *.p7m *.p7b );;" - --#: ../lib/load_obj.cpp:98 -+#: ../lib/load_obj.cpp:99 - msgctxt "QObject|" - msgid "Import PKCS#7 Certificates" - msgstr "Importer un certificat PKCS#7" - --#: ../lib/load_obj.cpp:110 -+#: ../lib/load_obj.cpp:111 - msgctxt "QObject|" - msgid "PKCS#12 Certificates ( *.p12 *.pfx );;" - msgstr "Certificats PKCS#12 ( *.p12 *.pfx );;" - --#: ../lib/load_obj.cpp:111 -+#: ../lib/load_obj.cpp:112 - msgctxt "QObject|" - msgid "Import PKCS#12 Private Certificate" - msgstr "Importer un certificat privé PKCS#12" - --#: ../lib/load_obj.cpp:124 -+#: ../lib/load_obj.cpp:125 - msgctxt "QObject|" - msgid "XCA templates ( *.xca );;" - msgstr "Modèles XCA ( *.xca );;" - --#: ../lib/load_obj.cpp:125 -+#: ../lib/load_obj.cpp:126 - msgctxt "QObject|" - msgid "Import XCA Templates" - msgstr "Importer des modèles XCA" - --#: ../lib/load_obj.cpp:137 -+#: ../lib/load_obj.cpp:138 - msgctxt "QObject|" - msgid "Revocation lists ( *.pem *.der *.crl );;" - msgstr "Listes de révocation ( *.pem *.der *.crl );;" - --#: ../lib/load_obj.cpp:138 -+#: ../lib/load_obj.cpp:139 - msgctxt "QObject|" - msgid "Import Certificate Revocation List" - msgstr "Importer une liste de révocation de certificats" - --#: ../lib/load_obj.cpp:150 -+#: ../lib/load_obj.cpp:151 - msgctxt "QObject|" - msgid "XCA Databases ( *.xdb );;" - msgstr "Bases de données XCA ( *.xdb );;" - --#: ../lib/load_obj.cpp:151 -+#: ../lib/load_obj.cpp:152 - msgctxt "QObject|" - msgid "Open XCA Database" - msgstr "Ouvrir une Base de Données XCA" - --#: ../lib/load_obj.cpp:159 -+#: ../lib/load_obj.cpp:160 - msgctxt "QObject|" - msgid "PKCS#11 library ( *.dll );;" - msgstr "Bibliothèque PKCS#11 ( *.dll );;" - --#: ../lib/load_obj.cpp:161 -+#: ../lib/load_obj.cpp:162 - msgctxt "QObject|" - msgid "PKCS#11 library ( *.dylib *.so );;" - msgstr "Bibliothèque PKCS#11 ( *.dylib *.so );;" - --#: ../lib/load_obj.cpp:163 -+#: ../lib/load_obj.cpp:164 - msgctxt "QObject|" - msgid "PKCS#11 library ( *.so );;" - msgstr "Bibliothèque PKCS#11 ( *.so );;" - --#: ../lib/load_obj.cpp:165 -+#: ../lib/load_obj.cpp:166 - msgctxt "QObject|" - msgid "Open PKCS#11 shared library" - msgstr "Ouvrir une bibliothèque partagée PKCS#11" - --#: ../lib/load_obj.cpp:172 -+#: ../lib/load_obj.cpp:173 - msgctxt "QObject|" - msgid "PEM files ( *.pem );;" - msgstr "Fichiers PEM ( *.pem );;" - --#: ../lib/load_obj.cpp:173 -+#: ../lib/load_obj.cpp:174 - msgctxt "QObject|" - msgid "Load PEM encoded file" - msgstr "Charger un fichier en format PEM" - --#: ../lib/pkcs11.cpp:200 -+#: ../lib/pkcs11.cpp:214 - msgctxt "QObject|" - msgid "Please enter the PIN on the PinPad" - msgstr "Saisir le NIP sur le pavé prévu à cet effet SVP" - --#: ../lib/pkcs11.cpp:211 -+#: ../lib/pkcs11.cpp:225 - #, qt-format - msgctxt "QObject|" - msgid "Please enter the SO PIN (PUK) of the token %1" - msgstr "SVP saisir le PUK du jeton '%1'" - --#: ../lib/pkcs11.cpp:212 -+#: ../lib/pkcs11.cpp:226 - #, qt-format - msgctxt "QObject|" - msgid "Please enter the PIN of the token %1" - msgstr "SVP saisir le NIP du jeton '%1'" - --#: ../lib/pkcs11.cpp:265 -+#: ../lib/pkcs11.cpp:280 - msgctxt "QObject|" - msgid "No Security token found" - msgstr "Aucun jeton de sécurité trouvé" - --#: ../lib/pkcs11.cpp:276 -+#: ../lib/pkcs11.cpp:291 - msgctxt "QObject|" - msgid "Select" - msgstr "Sélectionner" - --#: ../lib/pkcs11.cpp:299 -+#: ../lib/pkcs11.cpp:314 - #, qt-format - msgctxt "QObject|" - msgid "Please enter the new SO PIN (PUK) for the token: '%1'" - msgstr "SVP saisir le nouveau PUK pour le jeton: '%1'" - --#: ../lib/pkcs11.cpp:301 -+#: ../lib/pkcs11.cpp:316 - #, qt-format - msgctxt "QObject|" - msgid "Please enter the new PIN for the token: '%1'" - msgstr "SVP saisir le nouveau NIP pour le jeton: '%1'" - --#: ../lib/pkcs11.h:92 -+#: ../lib/pkcs11.h:101 - #, qt-format - msgctxt "QObject|" - msgid "Required PIN size: %1 - %2" -@@ -2788,13 +2780,13 @@ msgctxt "QObject|" - msgid "Library loading failed" - msgstr "Le chargement de la bibliothèque a échoué" - --#: ../lib/pkcs11_lib.cpp:515 -+#: ../lib/pkcs11_lib.cpp:518 - #, qt-format - msgctxt "QObject|" - msgid "PKCS#11 function '%1' failed: %2" - msgstr "La fonction PKCS#11 '%1' a échoué: %2" - --#: ../lib/pkcs11_lib.cpp:523 -+#: ../lib/pkcs11_lib.cpp:526 - #, qt-format - msgctxt "QObject|" - msgid "" -@@ -2806,24 +2798,24 @@ msgstr "" - "Dans la bibliothèque %3\n" - "%4" - --#: ../lib/x509name.cpp:116 -+#: ../lib/x509name.cpp:111 - msgctxt "QObject|" - msgid "Invalid" - msgstr "Invalide" - --#: ../lib/x509name.cpp:240 -+#: ../lib/x509name.cpp:235 - #, qt-format - msgctxt "QObject|" - msgid "%1 is shorter than %2 bytes: '%3'" - msgstr "%1 est plus court que %2 octets: '%3'" - --#: ../lib/x509name.cpp:245 -+#: ../lib/x509name.cpp:240 - #, qt-format - msgctxt "QObject|" - msgid "%1 is longer than %2 bytes: '%3'" - msgstr "%1 est plus long que %2 octets: '%3'" - --#: ../lib/x509v3ext.cpp:85 -+#: ../lib/x509v3ext.cpp:86 - #, qt-format - msgctxt "QObject|" - msgid "String '%1' for '%2' contains invalid characters" -@@ -2867,196 +2859,219 @@ msgctxt "QObject|" - msgid "Failed to start a database transaction" - msgstr "Impossible de démarrer la transaction BDD" - --#: ../lib/func.cpp:598 -+#: ../lib/func.cpp:634 - msgctxt "QObject|" - msgid "Country code" - msgstr "Code de pays" - --#: ../lib/func.cpp:599 -+#: ../lib/func.cpp:635 - msgctxt "QObject|" - msgid "State or Province" - msgstr "Etat ou province" - --#: ../lib/func.cpp:600 -+#: ../lib/func.cpp:636 - msgctxt "QObject|" - msgid "Locality" - msgstr "Localité" - --#: ../lib/func.cpp:601 -+#: ../lib/func.cpp:637 - msgctxt "QObject|" - msgid "Organisation" - msgstr "Organisation" - --#: ../lib/func.cpp:602 -+#: ../lib/func.cpp:638 - msgctxt "QObject|" - msgid "Organisational unit" - msgstr "Unité d'organisation" - --#: ../lib/func.cpp:603 -+#: ../lib/func.cpp:639 - msgctxt "QObject|" - msgid "Common name" - msgstr "Nom commun" - --#: ../lib/func.cpp:604 -+#: ../lib/func.cpp:640 - msgctxt "QObject|" - msgid "E-Mail address" - msgstr "Adresse de courriel" - --#: ../lib/func.cpp:605 -+#: ../lib/func.cpp:641 - msgctxt "QObject|" - msgid "Serial number" - msgstr "Numéro de série" - --#: ../lib/func.cpp:606 -+#: ../lib/func.cpp:642 - msgctxt "QObject|" - msgid "Given name" - msgstr "Prénom" - --#: ../lib/func.cpp:607 -+#: ../lib/func.cpp:643 - msgctxt "QObject|" - msgid "Surname" - msgstr "Nom de famille" - --#: ../lib/func.cpp:608 -+#: ../lib/func.cpp:644 - msgctxt "QObject|" - msgid "Title" - msgstr "Titre" - --#: ../lib/func.cpp:609 -+#: ../lib/func.cpp:645 - msgctxt "QObject|" - msgid "Initials" - msgstr "Initiales" - --#: ../lib/func.cpp:610 -+#: ../lib/func.cpp:646 - msgctxt "QObject|" - msgid "Description" - msgstr "Description" - --#: ../lib/func.cpp:611 -+#: ../lib/func.cpp:647 - msgctxt "QObject|" - msgid "Role" - msgstr "Rôle" - --#: ../lib/func.cpp:612 -+#: ../lib/func.cpp:648 - msgctxt "QObject|" - msgid "Pseudonym" - msgstr "Pseudonyme" - --#: ../lib/func.cpp:613 -+#: ../lib/func.cpp:649 - msgctxt "QObject|" - msgid "Generation Qualifier" - msgstr "Qualifiant de génération" - --#: ../lib/func.cpp:614 -+#: ../lib/func.cpp:650 - msgctxt "QObject|" - msgid "x500 Unique Identifier" - msgstr "Identifiant Unique X500" - --#: ../lib/func.cpp:615 -+#: ../lib/func.cpp:651 - msgctxt "QObject|" - msgid "Name" - msgstr "Nom" - --#: ../lib/func.cpp:616 -+#: ../lib/func.cpp:652 - msgctxt "QObject|" - msgid "DN Qualifier" - msgstr "Qualifiant de DN" - --#: ../lib/func.cpp:617 -+#: ../lib/func.cpp:653 - msgctxt "QObject|" - msgid "Unstructured name" - msgstr "Nom non-structuré" - --#: ../lib/func.cpp:618 -+#: ../lib/func.cpp:654 - msgctxt "QObject|" - msgid "Challenge password" - msgstr "Mot de passe challenge" - --#: ../lib/func.cpp:620 -+#: ../lib/func.cpp:656 - msgctxt "QObject|" - msgid "Basic Constraints" - msgstr "Contraintes de base" - --#: ../lib/func.cpp:621 -+#: ../lib/func.cpp:657 - msgctxt "QObject|" - msgid "Subject alternative name" - msgstr "Nom alternatif du sujet" - --#: ../lib/func.cpp:622 -+#: ../lib/func.cpp:658 - msgctxt "QObject|" - msgid "issuer alternative name" - msgstr "Nom alternatif de l'émetteur" - --#: ../lib/func.cpp:623 -+#: ../lib/func.cpp:659 - msgctxt "QObject|" - msgid "Subject key identifier" - msgstr "Clé d'identification du sujet" - --#: ../lib/func.cpp:624 -+#: ../lib/func.cpp:660 - msgctxt "QObject|" - msgid "Authority key identifier" - msgstr "Clé d'identification de l'autorité" - --#: ../lib/func.cpp:625 -+#: ../lib/func.cpp:661 - msgctxt "QObject|" - msgid "Key usage" - msgstr "Usage de la clé" - --#: ../lib/func.cpp:626 -+#: ../lib/func.cpp:662 - msgctxt "QObject|" - msgid "Extended key usage" - msgstr "Usage étendu de la clé" - --#: ../lib/func.cpp:627 -+#: ../lib/func.cpp:663 - msgctxt "QObject|" - msgid "CRL distribution points" - msgstr "Points de distribution de la CRL" - --#: ../lib/func.cpp:628 -+#: ../lib/func.cpp:664 - msgctxt "QObject|" - msgid "Authority information access" - msgstr "Accès à l'information de l'autorité" - --#: ../lib/func.cpp:629 -+#: ../lib/func.cpp:665 - msgctxt "QObject|" - msgid "Certificate type" - msgstr "Type de certificat" - --#: ../lib/func.cpp:630 -+#: ../lib/func.cpp:666 - msgctxt "QObject|" - msgid "Base URL" - msgstr "URL de base" - --#: ../lib/func.cpp:631 -+#: ../lib/func.cpp:667 - msgctxt "QObject|" - msgid "Revocation URL" - msgstr "URL de révocation" - --#: ../lib/func.cpp:632 -+#: ../lib/func.cpp:668 - msgctxt "QObject|" - msgid "CA Revocation URL" - msgstr "URL de révocation du CA" - --#: ../lib/func.cpp:633 -+#: ../lib/func.cpp:669 - msgctxt "QObject|" - msgid "Certificate renewal URL" - msgstr "URL de renouvellement du certificat" - --#: ../lib/func.cpp:634 -+#: ../lib/func.cpp:670 - msgctxt "QObject|" - msgid "CA policy URL" - msgstr "URL de la politique du CA" - --#: ../lib/func.cpp:635 -+#: ../lib/func.cpp:671 - msgctxt "QObject|" - msgid "SSL server name" - msgstr "Nom du serveur SSL" - --#: ../lib/func.cpp:636 -+#: ../lib/func.cpp:672 - msgctxt "QObject|" - msgid "Comment" - msgstr "Commentaire" - -+#: ../lib/main.cpp:210 -+#, qt-format -+msgctxt "QObject|" -+msgid "Index file written to '%1'" -+msgstr "Fichier d'index écrit dans '%1'" -+ -+#: ../lib/main.cpp:217 -+#, qt-format -+msgctxt "QObject|" -+msgid "Index hierarchy written to '%1'" -+msgstr "Hiérarchie d'index écrite dans '%1'" -+ -+#: ../lib/main.cpp:230 -+#, qt-format -+msgctxt "QObject|" -+msgid "Unknown key type %1" -+msgstr "Type de clé inconnu %1" -+ -+#: ../widgets/XcaWarning.h:23 -+msgctxt "QObject|" -+msgid "Password verify error, please try again" -+msgstr "La vérification du mot de passe a échoué. SVP essayez encore" -+ - #: ../widgets/ReqTreeView.cpp:25 - msgctxt "ReqTreeView|" - msgid "Sign" -@@ -3097,32 +3112,32 @@ msgctxt "RevocationList|" - msgid "Edit" - msgstr "Modifier" - --#: ../widgets/RevocationList.cpp:73 -+#: ../widgets/RevocationList.cpp:75 - msgctxt "RevocationList|" - msgid "No." - msgstr "No." - --#: ../widgets/RevocationList.cpp:73 -+#: ../widgets/RevocationList.cpp:75 - msgctxt "RevocationList|" - msgid "Serial" - msgstr "Numéro de série" - --#: ../widgets/RevocationList.cpp:73 -+#: ../widgets/RevocationList.cpp:75 - msgctxt "RevocationList|" - msgid "Revocation" - msgstr "Révocation" - --#: ../widgets/RevocationList.cpp:73 -+#: ../widgets/RevocationList.cpp:75 - msgctxt "RevocationList|" - msgid "Reason" - msgstr "Raison" - --#: ../widgets/RevocationList.cpp:74 -+#: ../widgets/RevocationList.cpp:76 - msgctxt "RevocationList|" - msgid "Invalidation" - msgstr "Invalidation" - --#: ../widgets/RevocationList.cpp:101 -+#: ../widgets/RevocationList.cpp:104 - msgctxt "RevocationList|" - msgid "Generate CRL" - msgstr "Générer la liste de révocation" -@@ -3193,186 +3208,276 @@ msgctxt "SelectToken|" - msgid "Please select the security token" - msgstr "SVP sélectionner le jeton de sécurité" - --#: ../widgets/TempTreeView.cpp:22 -+#: ../widgets/TempTreeView.cpp:23 - msgctxt "TempTreeView|" - msgid "Duplicate" - msgstr "Dupliquer" - --#: ../widgets/TempTreeView.cpp:23 -+#: ../widgets/TempTreeView.cpp:24 - msgctxt "TempTreeView|" - msgid "Create certificate" - msgstr "Créer un certificat" - --#: ../widgets/TempTreeView.cpp:24 -+#: ../widgets/TempTreeView.cpp:25 - msgctxt "TempTreeView|" - msgid "Create request" - msgstr "Créer une requête" - --#: ../widgets/TempTreeView.cpp:35 -+#: ../widgets/TempTreeView.cpp:34 - msgctxt "TempTreeView|" - msgid "copy" - msgstr "copier" - -+#: ../widgets/TempTreeView.cpp:82 -+msgctxt "TempTreeView|" -+msgid "Preset Template values" -+msgstr "Initialiser les valeurs du modèle" -+ - #: ../widgets/validity.cpp:94 - msgctxt "Validity|" - msgid "yyyy-MM-dd hh:mm" - msgstr "yyyy-MM-dd hh:mm" - --#: ../widgets/X509SuperTreeView.cpp:25 -+#: ../widgets/X509SuperTreeView.cpp:28 - msgctxt "X509SuperTreeView|" - msgid "OpenSSL config" - msgstr "Configuration OpenSSL" - --#: ../widgets/X509SuperTreeView.cpp:26 -+#: ../widgets/X509SuperTreeView.cpp:29 - msgctxt "X509SuperTreeView|" - msgid "Transform" - msgstr "Transformer" - --#: ../widgets/X509SuperTreeView.cpp:27 -+#: ../widgets/X509SuperTreeView.cpp:30 - msgctxt "X509SuperTreeView|" - msgid "Template" - msgstr "Modèle" - --#: ../widgets/X509SuperTreeView.cpp:28 -+#: ../widgets/X509SuperTreeView.cpp:31 - msgctxt "X509SuperTreeView|" - msgid "Public key" - msgstr "Clé publique" - --#: ../widgets/XcaTreeView.cpp:326 -+#: ../widgets/XcaTreeView.cpp:343 - msgctxt "XcaTreeView|" - msgid "Subject entries" - msgstr "Inscriptions du sujet" - --#: ../widgets/XcaTreeView.cpp:327 -+#: ../widgets/XcaTreeView.cpp:344 - msgctxt "XcaTreeView|" - msgid "X509v3 Extensions" - msgstr "Extensions X509v3" - --#: ../widgets/XcaTreeView.cpp:328 -+#: ../widgets/XcaTreeView.cpp:345 - msgctxt "XcaTreeView|" - msgid "Netscape extensions" - msgstr "Extensions Netscape" - --#: ../widgets/XcaTreeView.cpp:329 -+#: ../widgets/XcaTreeView.cpp:346 - msgctxt "XcaTreeView|" - msgid "Key properties" - msgstr "Propriétés de la clé" - --#: ../widgets/XcaTreeView.cpp:330 -+#: ../widgets/XcaTreeView.cpp:347 - msgctxt "XcaTreeView|" - msgid "Reset" - msgstr "Réinitialisation" - --#: ../widgets/XcaTreeView.cpp:333 -+#: ../widgets/XcaTreeView.cpp:350 - msgctxt "XcaTreeView|" - msgid "Hide Column" - msgstr "Cacher la colonne" - --#: ../widgets/XcaTreeView.cpp:335 -+#: ../widgets/XcaTreeView.cpp:352 - msgctxt "XcaTreeView|" - msgid "Details" - msgstr "Détails" - --#: ../widgets/XcaTreeView.cpp:378 -+#: ../widgets/XcaTreeView.cpp:395 - msgctxt "XcaTreeView|" - msgid "Columns" - msgstr "Colonnes" - --#: ../widgets/XcaTreeView.cpp:406 -+#: ../widgets/XcaTreeView.cpp:431 - msgctxt "XcaTreeView|" - msgid "New" - msgstr "Créer" - --#: ../widgets/XcaTreeView.cpp:407 -+#: ../widgets/XcaTreeView.cpp:432 - msgctxt "XcaTreeView|" - msgid "Import" - msgstr "Importer" - --#: ../widgets/XcaTreeView.cpp:408 -+#: ../widgets/XcaTreeView.cpp:433 - msgctxt "XcaTreeView|" - msgid "Paste PEM data" - msgstr "Coller les données en format PEM" - --#: ../widgets/XcaTreeView.cpp:412 -+#: ../widgets/XcaTreeView.cpp:437 - msgctxt "XcaTreeView|" - msgid "Rename" - msgstr "Renommer" - --#: ../widgets/XcaTreeView.cpp:413 -+#: ../widgets/XcaTreeView.cpp:438 - msgctxt "XcaTreeView|" - msgid "Properties" - msgstr "Propriétés" - --#: ../widgets/XcaTreeView.cpp:416 -+#: ../widgets/XcaTreeView.cpp:441 - msgctxt "XcaTreeView|" - msgid "Delete" - msgstr "Enlever" - --#: ../widgets/XcaTreeView.cpp:418 -+#: ../widgets/XcaTreeView.cpp:443 - msgctxt "XcaTreeView|" - msgid "Export" - msgstr "Exporter" - --#: ../widgets/XcaTreeView.cpp:419 -+#: ../widgets/XcaTreeView.cpp:444 - msgctxt "XcaTreeView|" - msgid "Clipboard" - msgstr "Presse-papier" - --#: ../widgets/XcaTreeView.cpp:421 -+#: ../widgets/XcaTreeView.cpp:446 - msgctxt "XcaTreeView|" - msgid "File" - msgstr "Fichier" - --#: ../lib/db_base.cpp:178 -+#: ../lib/database_model.cpp:125 -+#, qt-format -+msgctxt "database_model|" -+msgid "" -+"Legacy database format detected. Creating a backup copy called: '%1' and " -+"converting the database to the new format" -+msgstr "" -+"Format historique de base de données détecté. Une copie de sauvegarde " -+"appelée '%1' est créée et la base de données est convertie au nouveau format" -+ -+#: ../lib/database_model.cpp:134 -+msgctxt "database_model|" -+msgid "Failed to rename the database file, because the target already exists" -+msgstr "" -+"Le changement de nom du fichier de base de données a échoué parce qu'un " -+"autre fichier du même nom existe déjà" -+ -+#: ../lib/database_model.cpp:269 -+#, qt-format -+msgctxt "database_model|" -+msgid "" -+"Please enter the password to access the database server %2 as user '%1'." -+msgstr "" -+"SVP saisir le mot de passe de l'utilisateur '%1' sur le serveur de base de " -+"données %2." -+ -+#: ../lib/database_model.cpp:386 -+#, qt-format -+msgctxt "database_model|" -+msgid "Unable to create '%1': %2" -+msgstr "Impossible de créer '%1': %2" -+ -+#: ../lib/database_model.cpp:557 -+#, qt-format -+msgctxt "database_model|" -+msgid "The file '%1' is not an XCA database" -+msgstr "Le fichier '%1' n'est pas une base de données XCA" -+ -+#: ../lib/database_model.cpp:585 -+msgctxt "database_model|" -+msgid "" -+"No SqLite3 driver available. Please install the qt-sqlite package of your " -+"distribution" -+msgstr "" -+"Le pilote SqLite3 n'est pas disponible. SVP installez le paquetage qt-sqlite " -+"de votre distribution" -+ -+#: ../lib/database_model.cpp:626 -+msgctxt "database_model|" -+msgid "New Password" -+msgstr "Nouveau mot de passe" -+ -+#: ../lib/database_model.cpp:626 -+#, qt-format -+msgctxt "database_model|" -+msgid "" -+"Please enter a password, that will be used to encrypt your private keys in " -+"the database:\n" -+"%1" -+msgstr "" -+"Veuillez saisir un mot de passe, qui sera utilisé pour chiffrer vos clés " -+"privées dans la base de données:\n" -+"%1" -+ -+#: ../lib/database_model.cpp:646 -+msgctxt "database_model|" -+msgid "Password" -+msgstr "Mot de passe" -+ -+#: ../lib/database_model.cpp:647 -+#, qt-format -+msgctxt "database_model|" -+msgid "" -+"Please enter the password for unlocking the database:\n" -+"%1" -+msgstr "" -+"Veuillez entrer le mot passe pour déverrouiller la base de données:\n" -+"%1" -+ -+#: ../lib/db_base.cpp:170 - msgctxt "db_base|" - msgid "Internal name" - msgstr "Nom interne" - --#: ../lib/db_base.cpp:179 -+#: ../lib/db_base.cpp:171 - msgctxt "db_base|" - msgid "No." - msgstr "No." - --#: ../lib/db_base.cpp:180 -+#: ../lib/db_base.cpp:172 - msgctxt "db_base|" - msgid "Primary key" - msgstr "Clé primaire" - --#: ../lib/db_base.cpp:181 -+#: ../lib/db_base.cpp:173 - msgctxt "db_base|" - msgid "Database unique number" - msgstr "Numéro unique de la base de données" - --#: ../lib/db_base.cpp:182 -+#: ../lib/db_base.cpp:174 - msgctxt "db_base|" - msgid "Date" - msgstr "Date" - --#: ../lib/db_base.cpp:183 -+#: ../lib/db_base.cpp:175 - msgctxt "db_base|" - msgid "Date of creation or insertion" - msgstr "Date de création ou d'importation" - --#: ../lib/db_base.cpp:184 -+#: ../lib/db_base.cpp:176 - msgctxt "db_base|" - msgid "Source" - msgstr "Source" - --#: ../lib/db_base.cpp:185 -+#: ../lib/db_base.cpp:177 - msgctxt "db_base|" - msgid "Generated, Imported, Transformed" - msgstr "Généré, Importé, Transformé" - --#: ../lib/db_base.cpp:186 -+#: ../lib/db_base.cpp:178 - msgctxt "db_base|" - msgid "Comment" - msgstr "Commentaire" - --#: ../lib/db_base.cpp:187 -+#: ../lib/db_base.cpp:179 - msgctxt "db_base|" - msgid "First line of the comment field" - msgstr "Première ligne du champ de commentaire" - -+#: ../lib/db_base.cpp:241 -+#, qt-format -+msgctxt "db_base|" -+msgid "Import from: %1" -+msgstr "Importer à partir de: %1" -+ - #: ../lib/db_base.cpp:392 - #, qt-format - msgctxt "db_base|" -@@ -3411,42 +3516,42 @@ msgctxt "db_base|" - msgid "PEM files ( *.pem );; All files ( * )" - msgstr "Fichiers PEM ( *.pem );; Tous les fichiers ( * )" - --#: ../lib/db_crl.cpp:34 -+#: ../lib/db_crl.cpp:30 - msgctxt "db_crl|" - msgid "Signer" - msgstr "Signataire" - --#: ../lib/db_crl.cpp:35 -+#: ../lib/db_crl.cpp:31 - msgctxt "db_crl|" - msgid "Internal name of the signer" - msgstr "Nom interne du signataire" - --#: ../lib/db_crl.cpp:36 -+#: ../lib/db_crl.cpp:32 - msgctxt "db_crl|" - msgid "No. revoked" - msgstr "Numéro révoqué" - --#: ../lib/db_crl.cpp:37 -+#: ../lib/db_crl.cpp:33 - msgctxt "db_crl|" - msgid "Number of revoked certificates" - msgstr "Nombre de certificats révoqués" - --#: ../lib/db_crl.cpp:38 -+#: ../lib/db_crl.cpp:34 - msgctxt "db_crl|" - msgid "Last update" - msgstr "Dernière mise-à-jour" - --#: ../lib/db_crl.cpp:39 -+#: ../lib/db_crl.cpp:35 - msgctxt "db_crl|" - msgid "Next update" - msgstr "Prochaine mise-à-jour" - --#: ../lib/db_crl.cpp:40 -+#: ../lib/db_crl.cpp:36 - msgctxt "db_crl|" - msgid "CRL number" - msgstr "Numéro de la liste de révocation" - --#: ../lib/db_crl.cpp:106 -+#: ../lib/db_crl.cpp:105 - #, qt-format - msgctxt "db_crl|" - msgid "" -@@ -3458,68 +3563,53 @@ msgstr "" - "'%1'\n" - "En conséquence, elle n'a pas été importée" - --#: ../lib/db_crl.cpp:161 -+#: ../lib/db_crl.cpp:130 - msgctxt "db_crl|" - msgid "Revocation list export" - msgstr "Exportation d'une liste de révocation" - --#: ../lib/db_crl.cpp:162 -+#: ../lib/db_crl.cpp:131 - msgctxt "db_crl|" - msgid "CRL ( *.pem *.der *.crl )" - msgstr "Listes de révocation ( *.pem *.der *.crl )" - --#: ../lib/db_crl.cpp:228 --msgctxt "db_crl|" --msgid "There are no CA certificates for CRL generation" --msgstr "Il n'y a pas de certificat CA pour la génération de la CRL" -- --#: ../lib/db_crl.cpp:236 --msgctxt "db_crl|" --msgid "Select CA certificate" --msgstr "Sélectionner un certificat d'autorité" -- --#: ../lib/db_crl.cpp:257 --msgctxt "db_crl|" --msgid "Create CRL" --msgstr "Créer une liste de révocation" -- --#: ../lib/db_crl.cpp:301 -+#: ../lib/db_crl.cpp:194 - msgctxt "db_crl|" - msgid "Failed to initiate DB transaction" - msgstr "Impossible de démarrer la transaction BDD" - --#: ../lib/db_crl.cpp:311 ../lib/db_crl.cpp:319 ../lib/db_crl.cpp:323 -+#: ../lib/db_crl.cpp:204 ../lib/db_crl.cpp:212 ../lib/db_crl.cpp:216 - #, qt-format - msgctxt "db_crl|" - msgid "Database error: %1" - msgstr "Erreur de la base de données: %1" - --#: ../lib/db_key.cpp:65 -+#: ../lib/db_key.cpp:58 - msgctxt "db_key|" - msgid "Type" - msgstr "Type" - --#: ../lib/db_key.cpp:66 -+#: ../lib/db_key.cpp:59 - msgctxt "db_key|" - msgid "Size" - msgstr "Taille" - --#: ../lib/db_key.cpp:68 -+#: ../lib/db_key.cpp:61 - msgctxt "db_key|" - msgid "EC Group" - msgstr "Groupe EC" - --#: ../lib/db_key.cpp:70 -+#: ../lib/db_key.cpp:63 - msgctxt "db_key|" - msgid "Use" - msgstr "Usage" - --#: ../lib/db_key.cpp:71 -+#: ../lib/db_key.cpp:64 - msgctxt "db_key|" - msgid "Password" - msgstr "Mot de passe" - --#: ../lib/db_key.cpp:143 -+#: ../lib/db_key.cpp:138 - #, qt-format - msgctxt "db_key|" - msgid "" -@@ -3531,7 +3621,7 @@ msgstr "" - "'%1'\n" - "En conséquence, elle ne va pas être importée" - --#: ../lib/db_key.cpp:148 -+#: ../lib/db_key.cpp:143 - #, qt-format - msgctxt "db_key|" - msgid "" -@@ -3545,207 +3635,197 @@ msgstr "" - "En conséquence, cette dernière sera complétée par la partie privée de la clé " - "importée" - --#: ../lib/db_key.cpp:150 -+#: ../lib/db_key.cpp:145 - #, qt-format - msgctxt "db_key|" - msgid "Extending public key from %1 by imported key '%2'" - msgstr "Extension de la clé publique de %1 par la clé importée '%2'" - --#: ../lib/db_key.cpp:185 -+#: ../lib/db_key.cpp:163 - msgctxt "db_key|" - msgid "Key size too small !" - msgstr "Taille de clé trop petite !" - --#: ../lib/db_key.cpp:190 -+#: ../lib/db_key.cpp:167 - #, qt-format - msgctxt "db_key|" - msgid "You are sure to create a key of the size: %1 ?" - msgstr "Etes-vous sûr de vouloir créer une clé de taille %1 ?" - --#: ../lib/db_key.cpp:272 ../lib/db_key.cpp:316 -+#: ../lib/db_key.cpp:217 ../lib/db_key.cpp:268 - msgctxt "db_key|" - msgid "PEM public" - msgstr "clé publique PEM" - --#: ../lib/db_key.cpp:275 ../lib/db_key.cpp:321 -+#: ../lib/db_key.cpp:220 ../lib/db_key.cpp:273 - msgctxt "db_key|" - msgid "SSH2 public" - msgstr "Clé publique SSH2" - --#: ../lib/db_key.cpp:278 ../lib/db_key.cpp:340 -+#: ../lib/db_key.cpp:223 ../lib/db_key.cpp:293 - msgctxt "db_key|" - msgid "PEM private" - msgstr "Clé privée PEM" - --#: ../lib/db_key.cpp:283 -+#: ../lib/db_key.cpp:228 ../lib/db_key.cpp:298 -+msgctxt "db_key|" -+msgid "SSH2 private" -+msgstr "Clé privée SSH2" -+ -+#: ../lib/db_key.cpp:231 - msgctxt "db_key|" - msgid "Export keys to Clipboard" - msgstr "Exporter les clés vers le presse-papier" - --#: ../lib/db_key.cpp:286 -+#: ../lib/db_key.cpp:234 - msgctxt "db_key|" - msgid "Clipboard" - msgstr "Presse-papier" - --#: ../lib/db_key.cpp:299 -+#: ../lib/db_key.cpp:247 - #, qt-format - msgctxt "db_key|" - msgid "Export public key [%1]" - msgstr "Exporter la clé publique [%1]" - --#: ../lib/db_key.cpp:317 -+#: ../lib/db_key.cpp:269 - msgctxt "db_key|" - msgid "DER public" - msgstr "Clé publique DER" - --#: ../lib/db_key.cpp:326 -+#: ../lib/db_key.cpp:281 - msgctxt "db_key|" - msgid "DER private" - msgstr "Clé privée DER" - --#: ../lib/db_key.cpp:328 -+#: ../lib/db_key.cpp:278 - msgctxt "db_key|" - msgid "PEM encryped" - msgstr "Chiffrée en PEM" - --#: ../lib/db_key.cpp:334 -+#: ../lib/db_key.cpp:287 - msgctxt "db_key|" - msgid "PVK private" - msgstr "Clé privée PVK" - --#: ../lib/db_key.cpp:336 -+#: ../lib/db_key.cpp:289 - msgctxt "db_key|" - msgid "PVK encrypted" - msgstr "Chiffrée en PVK" - --#: ../lib/db_key.cpp:342 -+#: ../lib/db_key.cpp:295 - msgctxt "db_key|" - msgid "PKCS#8 encrypted" - msgstr "Chiffrée en PKCS#8" - --#: ../lib/db_key.cpp:343 -+#: ../lib/db_key.cpp:299 - #, qt-format - msgctxt "db_key|" - msgid "Export private key [%1]" - msgstr "Exporter la clé privée [%1]" - --#: ../lib/db_key.cpp:348 -+#: ../lib/db_key.cpp:304 - msgctxt "db_key|" - msgid "Private Keys ( *.pem *.der *.pk8 );; SSH Public Keys ( *.pub )" - msgstr "Clés privées ( *.pem *.der *.pk8 );; Clé publiques SSH ( *.pub )" - --#: ../lib/db_key.cpp:405 -+#: ../lib/db_key.cpp:364 - msgctxt "db_key|" - msgid "Internal error" - msgstr "Erreur interne" - --#: ../lib/db_key.cpp:424 -+#: ../lib/db_key.cpp:382 - msgctxt "db_key|" - msgid "Tried to change password of a token" - msgstr "Tentative de changement de mot de passe d'un jeton de sécurité" - --#: ../lib/db_temp.cpp:54 -+#: ../lib/db_temp.cpp:50 - #, qt-format - msgctxt "db_temp|" - msgid "Bad template: %1" - msgstr "Mauvais modèle: %1" - --#: ../lib/db_temp.cpp:38 -+#: ../lib/db_temp.cpp:34 - msgctxt "db_temp|" - msgid "Empty template" - msgstr "Modèle vide" - --#: ../lib/db_temp.cpp:99 --msgctxt "db_temp|" --msgid "Preset Template values" --msgstr "Initaliser les valeurs du modèle" -- --#: ../lib/db_temp.cpp:137 -+#: ../lib/db_temp.cpp:112 - msgctxt "db_temp|" - msgid "Save template as" - msgstr "Enregistrer le modèle sous" - --#: ../lib/db_temp.cpp:138 -+#: ../lib/db_temp.cpp:113 - msgctxt "db_temp|" - msgid "XCA templates ( *.xca );; All files ( * )" - msgstr "Modèles XCA ( *.xca);; Tous les fichiers ( * )" - --#: ../lib/db_x509.cpp:67 -+#: ../lib/db_x509.cpp:71 - msgctxt "db_x509|" - msgid "CA" - msgstr "CA" - --#: ../lib/db_x509.cpp:68 -+#: ../lib/db_x509.cpp:72 - msgctxt "db_x509|" - msgid "reflects the basic Constraints extension" - msgstr "reflète l'extension des contraintes basiques" - --#: ../lib/db_x509.cpp:69 -+#: ../lib/db_x509.cpp:73 - msgctxt "db_x509|" - msgid "Serial" - msgstr "Numéro de série" - --#: ../lib/db_x509.cpp:73 -+#: ../lib/db_x509.cpp:77 - msgctxt "db_x509|" - msgid "Start date" - msgstr "Date de début" - --#: ../lib/db_x509.cpp:75 -+#: ../lib/db_x509.cpp:79 - msgctxt "db_x509|" - msgid "Expiry date" - msgstr "Date d'expiration" - --#: ../lib/db_x509.cpp:70 -+#: ../lib/db_x509.cpp:74 - msgctxt "db_x509|" - msgid "MD5 fingerprint" - msgstr "Empreinte MD5" - --#: ../lib/db_x509.cpp:71 -+#: ../lib/db_x509.cpp:75 - msgctxt "db_x509|" - msgid "SHA1 fingerprint" - msgstr "Empreinte SHA1" - --#: ../lib/db_x509.cpp:72 -+#: ../lib/db_x509.cpp:76 - msgctxt "db_x509|" - msgid "SHA256 fingerprint" - msgstr "Empreinte SHA256" - --#: ../lib/db_x509.cpp:74 -+#: ../lib/db_x509.cpp:78 - msgctxt "db_x509|" - msgid "Not before" - msgstr "Pas avant" - --#: ../lib/db_x509.cpp:76 -+#: ../lib/db_x509.cpp:80 - msgctxt "db_x509|" - msgid "Not after" - msgstr "Pas après" - --#: ../lib/db_x509.cpp:77 -+#: ../lib/db_x509.cpp:81 - msgctxt "db_x509|" - msgid "Revocation" - msgstr "Révocation" - --#: ../lib/db_x509.cpp:78 -+#: ../lib/db_x509.cpp:82 - msgctxt "db_x509|" - msgid "CRL Expiration" - msgstr "Expiration de la CRL" - --#: ../lib/db_x509.cpp:152 --msgctxt "db_x509|" --msgid "Plain View" --msgstr "Vue à plat" -- --#: ../lib/db_x509.cpp:154 --msgctxt "db_x509|" --msgid "Tree View" --msgstr "Vue arborescente" -- --#: ../lib/db_x509.cpp:334 -+#: ../lib/db_x509.cpp:301 - msgctxt "db_x509|" - msgid "Failed to retrieve unique random serial" - msgstr "L'extraction d'un numéro de série aléatoire a échoué" - --#: ../lib/db_x509.cpp:357 -+#: ../lib/db_x509.cpp:324 - #, qt-format - msgctxt "db_x509|" - msgid "" -@@ -3757,177 +3837,183 @@ msgstr "" - "'%1'\n" - "En conséquence, il n'a pas été importé" - --#: ../lib/db_x509.cpp:401 -+#: ../lib/db_x509.cpp:366 - #, qt-format - msgctxt "db_x509|" - msgid "Signed on %1 by '%2'" - msgstr "Signé le %1 par '%2'" - --#: ../lib/db_x509.cpp:402 -+#: ../lib/db_x509.cpp:367 - msgctxt "db_x509|" - msgid "Unknown" - msgstr "Inconnu" - --#: ../lib/db_x509.cpp:494 -+#: ../lib/db_x509.cpp:455 - msgctxt "db_x509|" - msgid "Invalid public key" - msgstr "Clé publique invalide" - --#: ../lib/db_x509.cpp:652 -+#: ../lib/db_x509.cpp:611 - msgctxt "db_x509|" - msgid "PKCS#7 unrevoked" - msgstr "PKCS#7 non-révoqué" - --#: ../lib/db_x509.cpp:656 -+#: ../lib/db_x509.cpp:615 - msgctxt "db_x509|" - msgid "PEM unrevoked" - msgstr "PEM non-révoqué" - --#: ../lib/db_x509.cpp:663 -+#: ../lib/db_x509.cpp:622 - msgctxt "db_x509|" - msgid "vCalendar" - msgstr "message vCalendar" - --#: ../lib/db_x509.cpp:667 -+#: ../lib/db_x509.cpp:626 - msgctxt "db_x509|" - msgid "CA vCalendar" - msgstr "message vCalendar pour le CA" - --#: ../lib/db_x509.cpp:1092 -+#: ../lib/db_x509.cpp:630 -+msgctxt "db_x509|" -+msgid "X509 Certificates ( *.pem *.cer *.crt *.p12 *.pfx *.p7b )" -+msgstr "Certificats X509 ( *.pem *.cer *.crt *.p12 *.pfx *.p7b)" -+ -+#: ../lib/db_x509.cpp:1045 - msgctxt "db_x509|" - msgid "days" - msgstr " jours" - --#: ../lib/db_x509.cpp:1101 -+#: ../lib/db_x509.cpp:1054 - msgctxt "db_x509|" - msgid "No template" - msgstr "Pas de modèle" - --#: ../lib/db_x509.cpp:520 -+#: ../lib/db_x509.cpp:481 - msgctxt "db_x509|" - msgid "The key you selected for signing is not a private one." - msgstr "La clé sélectionnée pour la signature n'est pas une clé privée." - --#: ../lib/db_x509.cpp:562 -+#: ../lib/db_x509.cpp:253 -+#, qt-format -+msgctxt "db_x509|" -+msgid "Failed to create directory '%1'" -+msgstr "Impossible de créer le répertoire %1" -+ -+#: ../lib/db_x509.cpp:523 - #, qt-format - msgctxt "db_x509|" - msgid "Store the certificate to the key on the token '%1 (#%2)' ?" - msgstr "Enregistrer le certificate avec la clé sur le jeton '%1 (#%2)' ?" - --#: ../lib/db_x509.cpp:629 -+#: ../lib/db_x509.cpp:588 - msgctxt "db_x509|" - msgid "PEM chain" - msgstr "Chaîne en PEM" - --#: ../lib/db_x509.cpp:631 -+#: ../lib/db_x509.cpp:590 - msgctxt "db_x509|" - msgid "PKCS#7 chain" - msgstr "Chaîne PKCS#7" - --#: ../lib/db_x509.cpp:637 -+#: ../lib/db_x509.cpp:596 - msgctxt "db_x509|" - msgid "PKCS#12 chain" - msgstr "Chaîne PKCS#12" - --#: ../lib/db_x509.cpp:654 -+#: ../lib/db_x509.cpp:613 - msgctxt "db_x509|" - msgid "PKCS#7 all" - msgstr "Tous les certificats en PKCS#7" - --#: ../lib/db_x509.cpp:646 -+#: ../lib/db_x509.cpp:605 - msgctxt "db_x509|" - msgid "PEM + key" - msgstr "PEM + clé" - --#: ../lib/db_x509.cpp:658 -+#: ../lib/db_x509.cpp:617 - msgctxt "db_x509|" - msgid "PEM all" - msgstr "Tous les certificats en PEM" - --#: ../lib/db_x509.cpp:660 -+#: ../lib/db_x509.cpp:619 - msgctxt "db_x509|" - msgid "Certificate Index file" - msgstr "Ficher d'index des certificats" - --#: ../lib/db_x509.cpp:670 -+#: ../lib/db_x509.cpp:629 - msgctxt "db_x509|" - msgid "Certificate export" - msgstr "Exportation de certificat" - --#: ../lib/db_x509.cpp:671 --msgctxt "db_x509|" --msgid "X509 Certificates ( *.pem *.cer *.crt *.p12 *.p7b )" --msgstr "Certificats X509 ( *.pem *.cer *.crt *.p12 *.p7b)" -- --#: ../lib/db_x509.cpp:735 ../lib/db_x509.cpp:801 -+#: ../lib/db_x509.cpp:694 ../lib/db_x509.cpp:764 - #, qt-format - msgctxt "db_x509|" - msgid "There was no key found for the Certificate: '%1'" - msgstr "Aucune clé n'a été trouvée pour le Certificat. '%1'" - --#: ../lib/db_x509.cpp:740 -+#: ../lib/db_x509.cpp:699 - #, qt-format - msgctxt "db_x509|" - msgid "Not possible for a token key: '%1'" - msgstr "Impossible pour une clé d'un jeton de sécurité: '%1'" - --#: ../lib/db_x509.cpp:805 -+#: ../lib/db_x509.cpp:768 - #, qt-format - msgctxt "db_x509|" - msgid "Not possible for the token-key Certificate '%1'" - msgstr "Impossible pour le certificat d'une clé d'un jeton de sécurité: '%1'" - --#: ../lib/db_x509super.cpp:25 -+#: ../lib/db_x509super.cpp:30 - msgctxt "db_x509name|" - msgid "Subject" - msgstr "Sujet" - --#: ../lib/db_x509super.cpp:26 -+#: ../lib/db_x509super.cpp:31 - msgctxt "db_x509name|" - msgid "Complete distinguished name" - msgstr "Nom distinctif complet" - --#: ../lib/db_x509super.cpp:27 -+#: ../lib/db_x509super.cpp:32 - msgctxt "db_x509name|" - msgid "Subject hash" - msgstr "Hachage du sujet" - --#: ../lib/db_x509super.cpp:28 -+#: ../lib/db_x509super.cpp:33 - msgctxt "db_x509name|" - msgid "Hash to lookup certs in directories" - msgstr "Hachage de recherche dans un dossier" - --#: ../lib/db_x509req.cpp:31 -+#: ../lib/db_x509req.cpp:28 - msgctxt "db_x509req|" - msgid "Signed" - msgstr "Signée" - --#: ../lib/db_x509req.cpp:32 -+#: ../lib/db_x509req.cpp:29 - msgctxt "db_x509req|" - msgid "whether the request is already signed or not" - msgstr "si la requête a déjà été signée ou non" - --#: ../lib/db_x509req.cpp:33 -+#: ../lib/db_x509req.cpp:30 - msgctxt "db_x509req|" - msgid "Unstructured name" - msgstr "Nom non-structuré" - --#: ../lib/db_x509req.cpp:35 -+#: ../lib/db_x509req.cpp:32 - msgctxt "db_x509req|" - msgid "Challenge password" - msgstr "Mot de passe challenge" - --#: ../lib/db_x509req.cpp:37 -+#: ../lib/db_x509req.cpp:34 - msgctxt "db_x509req|" - msgid "Certificate count" - msgstr "Nombre de certificats" - --#: ../lib/db_x509req.cpp:38 -+#: ../lib/db_x509req.cpp:35 - msgctxt "db_x509req|" - msgid "Number of certificates in the database with the same public key" - msgstr "Nombre de certificats dans la base de données avec la même clé" - --#: ../lib/db_x509req.cpp:55 -+#: ../lib/db_x509req.cpp:52 - #, qt-format - msgctxt "db_x509req|" - msgid "" -@@ -3939,78 +4025,78 @@ msgstr "" - "'%1'\n" - "En conséquence, elle n'a pas été chargée" - --#: ../lib/db_x509req.cpp:132 -+#: ../lib/db_x509req.cpp:119 - msgctxt "db_x509req|" - msgid "Certificate request export" - msgstr "Exporter la requête de signature" - --#: ../lib/db_x509req.cpp:133 -+#: ../lib/db_x509req.cpp:120 - msgctxt "db_x509req|" - msgid "Certificate request ( *.pem *.der *.csr )" - msgstr "Requête de signature de certificat ( *.pem *.der *.csr )" - --#: ../lib/db_x509super.cpp:79 -+#: ../lib/db_x509super.cpp:81 - msgctxt "db_x509super|" - msgid "Key name" - msgstr "Nom de la clé" - --#: ../lib/db_x509super.cpp:80 -+#: ../lib/db_x509super.cpp:82 - msgctxt "db_x509super|" - msgid "Internal name of the key" - msgstr "Nom interne de la clé" - --#: ../lib/db_x509super.cpp:82 -+#: ../lib/db_x509super.cpp:84 - msgctxt "db_x509super|" - msgid "Signature algorithm" - msgstr "Algorithme de signature" - --#: ../lib/db_x509super.cpp:83 -+#: ../lib/db_x509super.cpp:85 - msgctxt "db_x509super|" - msgid "Key type" - msgstr "Type de clé" - --#: ../lib/db_x509super.cpp:84 -+#: ../lib/db_x509super.cpp:86 - msgctxt "db_x509super|" - msgid "Key size" - msgstr "Taille de la clé" - --#: ../lib/db_x509super.cpp:86 -+#: ../lib/db_x509super.cpp:88 - msgctxt "db_x509super|" - msgid "EC Group" - msgstr "Groupe EC" - --#: ../lib/db_x509super.cpp:140 -+#: ../lib/db_x509super.cpp:142 - #, qt-format - msgctxt "db_x509super|" - msgid "Extracted from %1 '%2'" - msgstr "Extrait de %1 '%2'" - --#: ../lib/db_x509super.cpp:142 ../lib/db_x509super.cpp:193 -+#: ../lib/db_x509super.cpp:144 ../lib/db_x509super.cpp:196 - msgctxt "db_x509super|" - msgid "Certificate" - msgstr "Certificat" - --#: ../lib/db_x509super.cpp:142 ../lib/db_x509super.cpp:193 -+#: ../lib/db_x509super.cpp:144 ../lib/db_x509super.cpp:196 - msgctxt "db_x509super|" - msgid "Certificate request" - msgstr "Requête de certificat" - --#: ../lib/db_x509super.cpp:157 -+#: ../lib/db_x509super.cpp:159 - msgctxt "db_x509super|" - msgid "Save as OpenSSL config" - msgstr "Enregistrer en format de configuration OpenSSL" - --#: ../lib/db_x509super.cpp:158 -+#: ../lib/db_x509super.cpp:160 - msgctxt "db_x509super|" - msgid "Config files ( *.conf *.cnf);; All files ( * )" - msgstr "Fichiers de configuration (*.conf *.cnf);; Tous les fichiers ( * )" - --#: ../lib/db_x509super.cpp:180 -+#: ../lib/db_x509super.cpp:183 - msgctxt "db_x509super|" - msgid "The following extensions were not ported into the template" - msgstr "Les extensions suivantes n'ont pas été enregistrées dans le modèle" - --#: ../lib/db_x509super.cpp:191 -+#: ../lib/db_x509super.cpp:194 - #, qt-format - msgctxt "db_x509super|" - msgid "Transformed from %1 '%2'" -@@ -4026,52 +4112,58 @@ msgctxt "kvView|" - msgid "Content" - msgstr "Contenu" - --#: ../lib/pass_info.cpp:20 -+#: ../lib/pass_info.cpp:15 - msgctxt "pass_info|" - msgid "Password" - msgstr "Mot de passe" - --#: ../lib/pass_info.cpp:26 -+#: ../lib/pass_info.cpp:22 - msgctxt "pass_info|" - msgid "PIN" - msgstr "NIP" - --#: ../lib/pki_base.cpp:284 -+#: ../lib/pki_base.cpp:289 - msgctxt "pki_base|" - msgid "Unknown" - msgstr "Inconnu" - --#: ../lib/pki_base.cpp:285 -+#: ../lib/pki_base.cpp:290 - msgctxt "pki_base|" - msgid "Imported" - msgstr "Importé" - --#: ../lib/pki_base.cpp:286 -+#: ../lib/pki_base.cpp:291 - msgctxt "pki_base|" - msgid "Generated" - msgstr "Généré" - --#: ../lib/pki_base.cpp:287 -+#: ../lib/pki_base.cpp:292 - msgctxt "pki_base|" - msgid "Transformed" - msgstr "Transformé" - --#: ../lib/pki_base.cpp:288 -+#: ../lib/pki_base.cpp:293 - msgctxt "pki_base|" - msgid "Token" - msgstr "Jeton" - --#: ../lib/pki_base.cpp:289 -+#: ../lib/pki_base.cpp:294 - msgctxt "pki_base|" - msgid "Legacy Database" - msgstr "Base de données antérieure" - --#: ../lib/pki_base.cpp:290 -+#: ../lib/pki_base.cpp:295 - msgctxt "pki_base|" - msgid "Renewed" - msgstr "Renouvelé" - --#: ../lib/pki_base.cpp:101 -+#: ../lib/pki_base.cpp:430 -+#, qt-format -+msgctxt "pki_base|" -+msgid "Property '%1' not listed in 'pki_base::print'" -+msgstr "Propriété '%1' non listée dans 'pki_base::print'" -+ -+#: ../lib/pki_base.cpp:125 - #, qt-format - msgctxt "pki_base|" - msgid "Internal error: Unexpected message: %1 %2" -@@ -4122,13 +4214,13 @@ msgctxt "pki_crl|" - msgid "Wrong Size %1" - msgstr "Taille fausse %1" - --#: ../lib/pki_crl.cpp:438 -+#: ../lib/pki_crl.cpp:434 - #, qt-format - msgctxt "pki_crl|" - msgid "CRL Renewal of CA '%1' due" - msgstr "Le renouvellement de la liste de révocation du CA '%1' est nécessaire" - --#: ../lib/pki_crl.cpp:439 -+#: ../lib/pki_crl.cpp:435 - #, qt-format - msgctxt "pki_crl|" - msgid "" -@@ -4138,13 +4230,13 @@ msgstr "" - "La dernière liste de révocation générée par le CA '%1' expirera le %2.\n" - "Elle est stockée dans la base de données XCA '%3'" - --#: ../lib/pki_crl.cpp:447 -+#: ../lib/pki_crl.cpp:443 - #, qt-format - msgctxt "pki_crl|" - msgid "Renew CRL: %1" - msgstr "Renouvellement de CRL: %1" - --#: ../lib/pki_crl.cpp:448 -+#: ../lib/pki_crl.cpp:444 - #, qt-format - msgctxt "pki_crl|" - msgid "" -@@ -4154,24 +4246,19 @@ msgstr "" - "La liste de révocation XCA '%1', émise le %3 expirera le %4.\n" - "Elle est stockée dans la base de données XCA '%5'" - --#: ../lib/pki_evp.cpp:238 -+#: ../lib/pki_evp.cpp:260 - #, qt-format - msgctxt "pki_evp|" --msgid "Failed to decrypt the key (bad password) %1" --msgstr "Le déchiffrage de la clé a échoué (mauvais mot de passe) %1" -- --#: ../lib/pki_evp.cpp:248 --msgctxt "pki_evp|" --msgid "Please enter the password to decrypt the private key." --msgstr "SVP saisir le mot de passe pour déchiffrer la clé privée" -+msgid "Please enter the password to decrypt the private key %1." -+msgstr "SVP saisir le mot de passe pour déchiffrer la clé privée %1," - --#: ../lib/pki_evp.cpp:305 -+#: ../lib/pki_evp.cpp:327 - #, qt-format - msgctxt "pki_evp|" - msgid "The key from file '%1' is incomplete or inconsistent." - msgstr "La clé dans le fichier '%1' est incomplète ou incorrecte." - --#: ../lib/pki_evp.cpp:321 -+#: ../lib/pki_evp.cpp:416 - #, qt-format - msgctxt "pki_evp|" - msgid "" -@@ -4181,7 +4268,7 @@ msgstr "" - "SVP saisir le mot de passe pour déchiffrer la clé privée du fichier:\n" - "%1" - --#: ../lib/pki_evp.cpp:383 -+#: ../lib/pki_evp.cpp:493 - #, qt-format - msgctxt "pki_evp|" - msgid "" -@@ -4192,148 +4279,148 @@ msgstr "" - "ainsi que les types de clés privé, public, PKCS#8 et le format SSH2 ont été " - "essayés." - --#: ../lib/pki_evp.cpp:414 -+#: ../lib/pki_evp.cpp:524 - msgctxt "pki_evp|" - msgid "Ignoring unsupported private key" - msgstr "Clé privée non-supportée: ignorée" - --#: ../lib/pki_evp.cpp:431 -+#: ../lib/pki_evp.cpp:541 - #, qt-format - msgctxt "pki_evp|" - msgid "Please enter the password to decrypt the private key: '%1'" - msgstr "SVP saisir le mot de passe pour déchiffrer la clé privée: '%1'" - --#: ../lib/pki_evp.cpp:434 ../lib/pki_evp.cpp:448 -+#: ../lib/pki_evp.cpp:544 ../lib/pki_evp.cpp:558 - msgctxt "pki_evp|" - msgid "Password input aborted" - msgstr "Saisie du mot de passe abandonnée" - --#: ../lib/pki_evp.cpp:444 -+#: ../lib/pki_evp.cpp:554 - #, qt-format - msgctxt "pki_evp|" - msgid "Please enter the database password for decrypting the key '%1'" - msgstr "" - "SVP saisir le mot de passe de la base de données pour déchiffrer la clé '%1'" - --#: ../lib/pki_evp.cpp:561 -+#: ../lib/pki_evp.cpp:659 - #, qt-format - msgctxt "pki_evp|" - msgid "Please enter the password to protect the private key: '%1'" - msgstr "SVP saisir le mot de passe pour protéger la clé privée: '%1'" - --#: ../lib/pki_evp.cpp:579 -+#: ../lib/pki_evp.cpp:677 - msgctxt "pki_evp|" - msgid "Please enter the database password for encrypting the key" - msgstr "SVP saisir le mot de passe de la base de données pour chiffrer la clé" - --#: ../lib/pki_evp.cpp:694 -+#: ../lib/pki_evp.cpp:789 - #, qt-format - msgctxt "pki_evp|" - msgid "Please enter the password protecting the PKCS#8 key '%1'" - msgstr "SVP saisir le mot de passe protégeant la clé en PKCS#8 '%1'" - --#: ../lib/pki_evp.cpp:713 -+#: ../lib/pki_evp.cpp:808 - #, qt-format - msgctxt "pki_evp|" - msgid "Please enter the password protecting the Microsoft PVK key '%1'" - msgstr "" - "SVP saisir le mot de passe protégeant la clé en format Microsoft PVK '%1'" - --#: ../lib/pki_evp.cpp:776 -+#: ../lib/pki_evp.cpp:863 - #, qt-format - msgctxt "pki_evp|" - msgid "Please enter the export password for the private key '%1'" - msgstr "SVP saisir le mot de passe d'exportation pour la clé privée '%1'" - --#: ../lib/pki_key.cpp:203 -+#: ../lib/pki_key.cpp:238 - #, qt-format - msgctxt "pki_key|" - msgid "Successfully imported the %1 public key '%2'" - msgstr "La clé publique %1 '%2' a été importée avec succès" - --#: ../lib/pki_key.cpp:204 -+#: ../lib/pki_key.cpp:239 - #, qt-format - msgctxt "pki_key|" - msgid "Delete the %1 public key '%2'?" - msgstr "Détruire la clé publique %1 '%2' ?" - --#: ../lib/pki_key.cpp:209 -+#: ../lib/pki_key.cpp:244 - #, qt-format - msgctxt "pki_key|" - msgid "Successfully imported the %1 private key '%2'" - msgstr "La clé privée %1 '%2' a été importée avec succès" - --#: ../lib/pki_key.cpp:210 -+#: ../lib/pki_key.cpp:245 - #, qt-format - msgctxt "pki_key|" - msgid "Delete the %1 private key '%2'?" - msgstr "Détruire la clé privée %1 '%2' ?" - --#: ../lib/pki_key.cpp:211 -+#: ../lib/pki_key.cpp:246 - #, qt-format - msgctxt "pki_key|" - msgid "Successfully created the %1 private key '%2'" - msgstr "La clé privée %1 '%2' a été créée avec succès" - --#: ../lib/pki_key.cpp:217 -+#: ../lib/pki_key.cpp:252 - #, qt-format - msgctxt "pki_key|" - msgid "Delete the %1 keys: %2?" - msgstr "Détruire les %1 clés: %2?" - --#: ../lib/pki_key.cpp:59 ../lib/pki_key.cpp:226 -+#: ../lib/pki_key.cpp:60 ../lib/pki_key.cpp:261 ../lib/pki_key.cpp:938 - msgctxt "pki_key|" - msgid "Public key" - msgstr "Clé publique" - --#: ../lib/pki_key.cpp:427 -+#: ../lib/pki_key.cpp:499 - msgctxt "pki_key|" - msgid "Common" - msgstr "Global" - --#: ../lib/pki_key.cpp:427 -+#: ../lib/pki_key.cpp:499 - msgctxt "pki_key|" - msgid "Private" - msgstr "Privé" - --#: ../lib/pki_key.cpp:427 -+#: ../lib/pki_key.cpp:499 - msgctxt "pki_key|" - msgid "Bogus" - msgstr "Erroné" - --#: ../lib/pki_key.cpp:427 -+#: ../lib/pki_key.cpp:499 - msgctxt "pki_key|" - msgid "PIN" - msgstr "NIP" - --#: ../lib/pki_key.cpp:437 -+#: ../lib/pki_key.cpp:509 - msgctxt "pki_key|" - msgid "No password" - msgstr "Pas de mot de passe" - --#: ../lib/pki_key.cpp:533 ../lib/pki_key.cpp:627 -+#: ../lib/pki_key.cpp:606 ../lib/pki_key.cpp:712 - #, qt-format - msgctxt "pki_key|" - msgid "Unexpected SSH2 content: '%1'" - msgstr "Contenu SSH2 inattendu: '%1'" - --#: ../lib/pki_key.cpp:553 ../lib/pki_key.cpp:559 -+#: ../lib/pki_key.cpp:626 ../lib/pki_key.cpp:632 - msgctxt "pki_key|" - msgid "Invalid SSH2 public key" - msgstr "Clé publique SSH2 invalide" - --#: ../lib/pki_key.cpp:735 -+#: ../lib/pki_key.cpp:830 - #, qt-format - msgctxt "pki_key|" - msgid "Failed writing to %1" - msgstr "Echec d'écriture sur %1" - --#: ../lib/pki_multi.cpp:125 -+#: ../lib/pki_multi.cpp:131 - msgctxt "pki_multi|" - msgid "No known PEM encoded items found" - msgstr "Aucun objet PEM connu n'a été trouvé" - --#: ../lib/pki_pkcs12.cpp:37 -+#: ../lib/pki_pkcs12.cpp:40 - #, qt-format - msgctxt "pki_pkcs12|" - msgid "" -@@ -4343,29 +4430,29 @@ msgstr "" - "SVP saisir le mot de passe pour déchiffrer le fichier en PKCS#12:\n" - "%1" - --#: ../lib/pki_pkcs12.cpp:45 -+#: ../lib/pki_pkcs12.cpp:49 - #, qt-format - msgctxt "pki_pkcs12|" - msgid "Unable to load the PKCS#12 (pfx) file %1." - msgstr "Impossible de charger le fichier en PKCS#12 (pfx) %1." - --#: ../lib/pki_pkcs12.cpp:60 -+#: ../lib/pki_pkcs12.cpp:73 - #, qt-format - msgctxt "pki_pkcs12|" - msgid "The supplied password was wrong (%1)" - msgstr "Le mot de passe renseigné était faux (%1)" - --#: ../lib/pki_pkcs12.cpp:112 -+#: ../lib/pki_pkcs12.cpp:127 - msgctxt "pki_pkcs12|" - msgid "Please enter the password to encrypt the PKCS#12 file" - msgstr "SVP saisir le mot de passe pour chiffrer le fichier en PKCS#12" - --#: ../lib/pki_pkcs12.cpp:116 -+#: ../lib/pki_pkcs12.cpp:130 - msgctxt "pki_pkcs12|" - msgid "No key or no Cert and no pkcs12" - msgstr "Pas de clé ou pas de certificat et pas en PKCS#12" - --#: ../lib/pki_pkcs7.cpp:151 -+#: ../lib/pki_pkcs7.cpp:173 - #, qt-format - msgctxt "pki_pkcs7|" - msgid "Unable to load the PKCS#7 file %1. Tried PEM and DER format." -@@ -4373,170 +4460,165 @@ msgstr "" - "Impossible de charger le fichier en PKCS#7 %1. Les formats PEM et DER ont " - "été essayés." - --#: ../lib/pki_scard.cpp:57 -+#: ../lib/pki_scard.cpp:52 - #, qt-format - msgctxt "pki_scard|" - msgid "Successfully imported the token key '%1'" - msgstr "La clé du jeton '%1' a été importée avec succès" - --#: ../lib/pki_scard.cpp:58 -+#: ../lib/pki_scard.cpp:53 - #, qt-format - msgctxt "pki_scard|" - msgid "Delete the token key '%1'?" - msgstr "Détruire la clé du jeton '%1' ?" - --#: ../lib/pki_scard.cpp:59 -+#: ../lib/pki_scard.cpp:54 - #, qt-format - msgctxt "pki_scard|" - msgid "Successfully created the token key '%1'" - msgstr "La clé du jeton '%1' a été créée avec succès" - --#: ../lib/pki_scard.cpp:61 -+#: ../lib/pki_scard.cpp:56 - #, qt-format - msgctxt "pki_scard|" - msgid "Delete the %1 keys: %2?" - msgstr "Détruire les %1 clés: %2?" - --#: ../lib/pki_scard.cpp:363 -+#: ../lib/pki_scard.cpp:358 - #, qt-format - msgctxt "pki_scard|" - msgid "Delete the private key '%1' from the token '%2 (#%3)' ?" - msgstr "Détruire la clé privée '%1' sur le jeton '%2 (#%3)' ?" - --#: ../lib/pki_scard.cpp:436 -+#: ../lib/pki_scard.cpp:431 - msgctxt "pki_scard|" - msgid "This Key is already on the token" - msgstr "Cette clé est déjà sur le jeton" - --#: ../lib/pki_scard.cpp:522 -+#: ../lib/pki_scard.cpp:517 - msgctxt "pki_scard|" - msgid "PIN input aborted" - msgstr "Saisie du NIP abandonnée" - --#: ../lib/pki_scard.cpp:534 -+#: ../lib/pki_scard.cpp:529 - msgctxt "pki_scard|" - msgid "Unable to find copied key on the token" - msgstr "Impossible de trouver la clé copiée sur le jeton" - --#: ../lib/pki_scard.cpp:621 -+#: ../lib/pki_scard.cpp:616 - #, qt-format - msgctxt "pki_scard|" - msgid "Please insert card: %1 %2 [%3] with Serial: %4" - msgstr "SVP insérer la carte %1 %2 [%3] avec le numéro de série: %4" - --#: ../lib/pki_scard.cpp:689 --msgctxt "pki_scard|" --msgid "Illegal Key generation method" --msgstr "Méthode de génération de clé illégale" -- --#: ../lib/pki_scard.cpp:705 -+#: ../lib/pki_scard.cpp:682 - msgctxt "pki_scard|" - msgid "Unable to find generated key on card" - msgstr "Impossible de trouver la clé générée sur la carte" - --#: ../lib/pki_scard.cpp:743 -+#: ../lib/pki_scard.cpp:720 - msgctxt "pki_scard|" - msgid "Ignoring unsupported token key" - msgstr "La clé non-supportée sur le jeton est ignorée" - --#: ../lib/pki_scard.cpp:746 -+#: ../lib/pki_scard.cpp:723 - #, qt-format - msgctxt "pki_scard|" - msgid "Wrong Size %1" - msgstr "Taille fausse %1" - --#: ../lib/pki_scard.cpp:752 -+#: ../lib/pki_scard.cpp:729 - #, qt-format - msgctxt "pki_scard|" - msgid "Token %1" - msgstr "Jeton %1" - --#: ../lib/pki_scard.cpp:761 ../lib/pki_scard.cpp:774 -+#: ../lib/pki_scard.cpp:738 ../lib/pki_scard.cpp:751 - msgctxt "pki_scard|" - msgid "Failed to find the key on the token" - msgstr "Impossible de trouver la clé sur le jeton" - --#: ../lib/pki_scard.cpp:768 -+#: ../lib/pki_scard.cpp:745 - msgctxt "pki_scard|" - msgid "Invalid Pin for the token" - msgstr "NIP invalide pour le jeton" - --#: ../lib/pki_scard.cpp:780 -+#: ../lib/pki_scard.cpp:757 - msgctxt "pki_scard|" - msgid "Failed to initialize the key on the token" - msgstr "Impossible d'initialiser la clé sur le jeton" - --#: ../lib/pki_temp.cpp:124 -+#: ../lib/pki_temp.cpp:123 - #, qt-format - msgctxt "pki_temp|" - msgid "Successfully imported the XCA template '%1'" - msgstr "Le modèle XCA '%1' a été importé avec succès" - --#: ../lib/pki_temp.cpp:125 -+#: ../lib/pki_temp.cpp:124 - #, qt-format - msgctxt "pki_temp|" - msgid "Delete the XCA template '%1'?" - msgstr "Détruire le modèle XCA '%1' ?" - --#: ../lib/pki_temp.cpp:126 -+#: ../lib/pki_temp.cpp:125 - #, qt-format - msgctxt "pki_temp|" - msgid "Successfully created the XCA template '%1'" - msgstr "Le modèle XCA '%1' a été créé avec succès" - --#: ../lib/pki_temp.cpp:128 -+#: ../lib/pki_temp.cpp:127 - #, qt-format - msgctxt "pki_temp|" - msgid "Delete the %1 XCA templates: %2?" - msgstr "Détruire les %1 modèles XCA: %2 ?" - --#: ../lib/pki_temp.cpp:336 -+#: ../lib/pki_temp.cpp:335 - #, qt-format - msgctxt "pki_temp|" - msgid "Wrong Size %1" - msgstr "Taille fausse %1" - --#: ../lib/pki_temp.cpp:426 -+#: ../lib/pki_temp.cpp:420 - msgctxt "pki_temp|" - msgid "Template file content error (too small)" - msgstr "Erreur de contenu du fichier de modèle (trop petit)" - --#: ../lib/pki_temp.cpp:481 -+#: ../lib/pki_temp.cpp:469 - msgctxt "pki_temp|" - msgid "Not a PEM encoded XCA Template" - msgstr "Ce n'est pas un modèle XCA en format PEM" - --#: ../lib/pki_temp.cpp:489 -+#: ../lib/pki_temp.cpp:477 - #, qt-format - msgctxt "pki_temp|" - msgid "Not an XCA Template, but '%1'" - msgstr "Ce n'est pas un modèle XCA, mais '%1'" - --#: ../lib/pki_x509.cpp:66 -+#: ../lib/pki_x509.cpp:64 - #, qt-format - msgctxt "pki_x509|" - msgid "Successfully imported the certificate '%1'" - msgstr "Le certificat '%1' a été importé avec succès" - --#: ../lib/pki_x509.cpp:67 -+#: ../lib/pki_x509.cpp:65 - #, qt-format - msgctxt "pki_x509|" - msgid "Delete the certificate '%1'?" - msgstr "Détruire le certificat '%1' ?" - --#: ../lib/pki_x509.cpp:68 -+#: ../lib/pki_x509.cpp:66 - #, qt-format - msgctxt "pki_x509|" - msgid "Successfully created the certificate '%1'" - msgstr "Le certificat '%1' a été créé avec succès" - --#: ../lib/pki_x509.cpp:70 -+#: ../lib/pki_x509.cpp:68 - #, qt-format - msgctxt "pki_x509|" - msgid "Delete the %1 certificates: %2?" - msgstr "Détruire les %1 certificats: '%2' ?" - --#: ../lib/pki_x509.cpp:218 -+#: ../lib/pki_x509.cpp:229 - #, qt-format - msgctxt "pki_x509|" - msgid "" -@@ -4545,45 +4627,45 @@ msgstr "" - "Impossible de charger le certificat du fichier %1. Les formats PEM et DER " - "ont été essayés." - --#: ../lib/pki_x509.cpp:363 -+#: ../lib/pki_x509.cpp:374 - msgctxt "pki_x509|" - msgid "This certificate is already on the security token" - msgstr "Ce certificat est déjà dans le jeton de sécurité" - --#: ../lib/pki_x509.cpp:426 -+#: ../lib/pki_x509.cpp:437 - #, qt-format - msgctxt "pki_x509|" - msgid "Delete the certificate '%1' from the token '%2 (#%3)'?" - msgstr "Détruire le certificat '%1' sur le jeton '%2 (#%3)' ?" - --#: ../lib/pki_x509.cpp:559 -+#: ../lib/pki_x509.cpp:570 - msgctxt "pki_x509|" - msgid "There is no key for signing !" - msgstr "Il n'y a pas de clé pour signer !" - --#: ../lib/pki_x509.cpp:620 -+#: ../lib/pki_x509.cpp:631 - #, qt-format - msgctxt "pki_x509|" - msgid "Wrong Size %1" - msgstr "Taille fausse %1" - --#: ../lib/pki_x509.cpp:911 -+#: ../lib/pki_x509.cpp:919 - msgctxt "pki_x509|" - msgid "No" - msgstr "Non" - --#: ../lib/pki_x509.cpp:913 -+#: ../lib/pki_x509.cpp:921 - msgctxt "pki_x509|" - msgid "Yes" - msgstr "Oui" - --#: ../lib/pki_x509.cpp:943 -+#: ../lib/pki_x509.cpp:951 - #, qt-format - msgctxt "pki_x509|" - msgid "Renew certificate: %1" - msgstr "Renouvellement du certificat: %1" - --#: ../lib/pki_x509.cpp:944 -+#: ../lib/pki_x509.cpp:952 - #, qt-format - msgctxt "pki_x509|" - msgid "" -@@ -4593,36 +4675,36 @@ msgstr "" - "Le certificat XCA '%1' émis le %2 expirera le %3.\n" - "Il est stocké dans la base de données XCA '%4'" - --#: ../lib/pki_x509req.cpp:102 -+#: ../lib/pki_x509req.cpp:110 - msgctxt "pki_x509req|" - msgid "Signing key not valid (public key)" - msgstr "La clé de signature n'est pas valide (c'est une clé publique)" - --#: ../lib/pki_x509req.cpp:144 -+#: ../lib/pki_x509req.cpp:152 - #, qt-format - msgctxt "pki_x509req|" - msgid "Successfully imported the %1 certificate request '%2'" - msgstr "La requête %1 de signature '%2' a été importée avec succès" - --#: ../lib/pki_x509req.cpp:145 -+#: ../lib/pki_x509req.cpp:153 - #, qt-format - msgctxt "pki_x509req|" - msgid "Delete the %1 certificate request '%2'?" - msgstr "Détruire la requête %1 de signature '%2' ?" - --#: ../lib/pki_x509req.cpp:146 -+#: ../lib/pki_x509req.cpp:154 - #, qt-format - msgctxt "pki_x509req|" - msgid "Successfully created the %1 certificate request '%2'" - msgstr "La requête %1 de signature '%2' a été créée avec succès" - --#: ../lib/pki_x509req.cpp:148 -+#: ../lib/pki_x509req.cpp:156 - #, qt-format - msgctxt "pki_x509req|" - msgid "Delete the %1 certificate requests: %2?" - msgstr "Détruire la requête %1 de signature '%2' ?" - --#: ../lib/pki_x509req.cpp:176 -+#: ../lib/pki_x509req.cpp:184 - #, qt-format - msgctxt "pki_x509req|" - msgid "" -@@ -4632,18 +4714,18 @@ msgstr "" - "Impossible de charger la requête de signature du fichier %1. Les formats " - "PEM, DER et SPKAC ont été essayés." - --#: ../lib/pki_x509req.cpp:208 -+#: ../lib/pki_x509req.cpp:216 - #, qt-format - msgctxt "pki_x509req|" - msgid "Wrong Size %1" - msgstr "Taille fausse %1" - --#: ../lib/pki_x509req.cpp:356 -+#: ../lib/pki_x509req.cpp:383 - msgctxt "pki_x509req|" - msgid "Signed" - msgstr "Signée" - --#: ../lib/pki_x509req.cpp:356 -+#: ../lib/pki_x509req.cpp:383 - msgctxt "pki_x509req|" - msgid "Unhandled" - msgstr "Non-géré" -@@ -4678,52 +4760,52 @@ msgctxt "v3ext|" - msgid "Cancel" - msgstr "Annuler" - --#: ../widgets/v3ext.cpp:72 -+#: ../widgets/v3ext.cpp:75 - msgctxt "v3ext|" - msgid "An email address or 'copy'" - msgstr "Une adresse de courriel ou 'copy'" - --#: ../widgets/v3ext.cpp:74 -+#: ../widgets/v3ext.cpp:77 - msgctxt "v3ext|" - msgid "An email address" - msgstr "Une adresse de courriel" - --#: ../widgets/v3ext.cpp:76 -+#: ../widgets/v3ext.cpp:79 - msgctxt "v3ext|" - msgid "A registered ID: OBJECT IDENTIFIER" - msgstr "un IDentifiant enregistré: IDENTIFICATEUR.OBJET" - --#: ../widgets/v3ext.cpp:80 -+#: ../widgets/v3ext.cpp:83 - msgctxt "v3ext|" - msgid "A uniform resource indicator" - msgstr "un indicateur uniforme de ressource" - --#: ../widgets/v3ext.cpp:85 -+#: ../widgets/v3ext.cpp:88 - msgctxt "v3ext|" - msgid "A DNS domain name or 'copycn'" - msgstr "un nom de domaine DNS ou 'copycn'" - --#: ../widgets/v3ext.cpp:87 -+#: ../widgets/v3ext.cpp:90 - msgctxt "v3ext|" - msgid "A DNS domain name" - msgstr "un nom de domaine DNS" - --#: ../widgets/v3ext.cpp:89 -+#: ../widgets/v3ext.cpp:92 - msgctxt "v3ext|" - msgid "An IP address" - msgstr "Une adresse IP" - --#: ../widgets/v3ext.cpp:92 -+#: ../widgets/v3ext.cpp:95 - msgctxt "v3ext|" - msgid "Syntax: ;TYPE:text like '1.2.3.4:UTF8:name'" - msgstr "Syntaxe: ;TYPE:texte sous la forme '1.2.3.4:UTF8:nom'" - --#: ../widgets/v3ext.cpp:96 -+#: ../widgets/v3ext.cpp:99 - msgctxt "v3ext|" - msgid "No editing. Only 'copy' allowed here" - msgstr "Pas de modification possible. Seul 'copy' est permis ici" - --#: ../widgets/v3ext.cpp:165 -+#: ../widgets/v3ext.cpp:168 - #, qt-format - msgctxt "v3ext|" - msgid "" -@@ -4735,7 +4817,7 @@ msgstr "" - "'%1'\n" - "%2" - --#: ../widgets/v3ext.cpp:170 -+#: ../widgets/v3ext.cpp:173 - #, qt-format - msgctxt "v3ext|" - msgid "" -@@ -4744,3 +4826,13 @@ msgid "" - msgstr "" - "La validation a été effectuée avec succès:\n" - "'%1'" -+ -+#: ../widgets/XcaWarning.cpp:121 -+msgctxt "xcaWarning|" -+msgid "The following error occurred:" -+msgstr "L'erreur suivante s'est produite:" -+ -+#: ../widgets/XcaWarning.cpp:124 -+msgctxt "xcaWarning|" -+msgid "Copy to Clipboard" -+msgstr "Copier dans le presse-papier" diff --git a/xca-2.4.0-lang-it.patch b/xca-2.4.0-lang-it.patch deleted file mode 100644 index cae2369..0000000 --- a/xca-2.4.0-lang-it.patch +++ /dev/null @@ -1,312 +0,0 @@ -From 36abc2b4980980d92a1acb697340c36b8cce6e64 Mon Sep 17 00:00:00 2001 -From: albanobattistella <34811668+albanobattistella@users.noreply.github.com> -Date: Mon, 24 May 2021 17:52:22 +0200 -Subject: [PATCH] Update xca_it.ts - ---- - lang/xca_it.ts | 80 +++++++++++++++++++++++++------------------------- - 1 file changed, 40 insertions(+), 40 deletions(-) - -diff --git a/lang/xca_it.ts b/lang/xca_it.ts -index 0bf93bc9..ba06ec62 100644 ---- a/lang/xca_it.ts -+++ b/lang/xca_it.ts -@@ -180,7 +180,7 @@ - - - Revoked: -- Revocato: -+ Revocato: - - - -@@ -1133,7 +1133,7 @@ Ciò eliminerà la chiave '%1' e la renderà non esportabile - - No deleted items found -- Non trovati elementi cancellati -+ Non trovati elementi cancellati - - - -@@ -1228,11 +1228,11 @@ Ciò eliminerà la chiave '%1' e la renderà non esportabile - - &New DataBase -- &Nuovo database -+ &Nuovo database - - - &Open DataBase -- &Apri database -+ &Apri database - - - -@@ -1246,7 +1246,7 @@ Ciò eliminerà la chiave '%1' e la renderà non esportabile - - &Close DataBase -- &Chiudi database -+ &Chiudi database - - - -@@ -1408,7 +1408,7 @@ Ciò eliminerà la chiave '%1' e la renderà non esportabile - - &Content -- &Contenuti -+ &Contenuti - - - -@@ -1417,7 +1417,7 @@ Ciò eliminerà la chiave '%1' e la renderà non esportabile - - no such option: %1 -- opzione inesistente: %1 -+ opzione inesistente: %1 - - - -@@ -1483,30 +1483,30 @@ Ciò eliminerà la chiave '%1' e la renderà non esportabile - Please enter a password, that will be used to encrypt your private keys in the database: - %1 -- Prego inserire una password che verrà utilizzata per crittare le chiavi private nel database: -+ Prego inserire una password che verrà utilizzata per crittare le chiavi private nel database: - %1 - - - Password verify error, please try again -- Errore di verifica password, prego riprovare -+ Errore di verifica password, prego riprovare - - - Password -- Password -+ Password - - - Please enter the password for unlocking the database: - %1 -- Prego inserire la password per sbloccare il database: -+ Prego inserire la password per sbloccare il database: - %1 - - - The following error occurred: -- Incontrato l'errore seguente: -+ Incontrato l'errore seguente: - - - Copy to Clipboard -- Copia negli appunti -+ Copia negli appunti - - - -@@ -1533,7 +1533,7 @@ Prego inserire i bit dei parametri DH - - - Error opening file: '%1': %2 -- Errore in apertura file: '%1': %2 -+ Errore in apertura file: '%1': %2 - - - -@@ -1769,7 +1769,7 @@ Prego inserire i bit dei parametri DH - - - Distinguished name -- Distinguished name -+ Nome distinto - - - -@@ -2279,12 +2279,12 @@ nonostante siano stati dichiarati come obbligatori nel menu opzioni. - - Hostname -- -+ Nome host - - - - Username -- -+ Nome utente - - - -@@ -2309,11 +2309,11 @@ nonostante siano stati dichiarati come obbligatori nel menu opzioni. - - Please enter the password to access the database server %2 as user '%1'. -- Prego inserire la password di accesso al database server %2 come utente: '%1'. -+ Prego inserire la password di accesso al database server %2 come utente: '%1'. - - - The database driver does not support transactions. This may happen if the client and server have different versions. Continue with care. -- Il driver database non supporta le transazioni. Questo può succedere se il client e il server hanno versioni differenti. Continuare con attenzione. -+ Il driver database non supporta le transazioni. Questo può succedere se il client e il server hanno versioni differenti. Continuare con attenzione. - - - -@@ -2524,7 +2524,7 @@ Nello specifico EC e DSA sono definiti solo con SHA1 nelle specifiche PKCS#11. - - E&xit -- E&sci -+ E&sci - - - -@@ -2614,15 +2614,15 @@ Nello specifico EC e DSA sono definiti solo con SHA1 nelle specifiche PKCS#11. - - DB: Rename: '%1' already in use -- DB: Rinomina: '%1' già in uso -+ DB: Rinomina: '%1' già in uso - - - DB: Entry to rename not found: %1 -- DB: Elemento da rinominare non trovato: %1 -+ DB: Elemento da rinominare non trovato: %1 - - - DB: Write error %1 - %2 -- DB: Errore di scrittura %1 - %2 -+ DB: Errore di scrittura %1 - %2 - - - -@@ -2991,7 +2991,7 @@ Nello specifico EC e DSA sono definiti solo con SHA1 nelle specifiche PKCS#11. - - Failed to open PKCS11 library: %1 -- Impossibile aprire libreria PKCS#11: %1 -+ Impossibile aprire libreria PKCS#11: %1 - - - -@@ -3456,7 +3456,7 @@ nella libreria %3 - db_base - - Error opening file: '%1': %2 -- Errore in apertura file: '%1': %2 -+ Errore in apertura file: '%1': %2 - - - -@@ -3607,15 +3607,15 @@ quindi non è stata importata - - - There are no CA certificates for CRL generation -- Non esistono certificati CA per generare la CRL -+ Non esistono certificati CA per generare la CRL - - - Select CA certificate -- Seleziona un certificato CA -+ Seleziona un certificato CA - - - Create CRL -- Crea CRL -+ Crea CRL - - - -@@ -3873,11 +3873,11 @@ e sarà completata con la nuova parte privata della chiave - - - Plain View -- Visualizzazione semplice -+ Visualizzazione semplice - - - Tree View -- Visualizzazione ad albero -+ Visualizzazione ad albero - - - -@@ -4000,7 +4000,7 @@ pertanto non è stato importato - - - X509 Certificates ( *.pem *.cer *.crt *.p12 *.p7b ) -- Certificati x509 ( *.pem *.cer *.crt *.p12 *.p7b ) -+ Certificati x509 ( *.pem *.cer *.crt *.p12 *.p7b ) - - - -@@ -4015,7 +4015,7 @@ pertanto non è stato importato - - - Error opening file: '%1': %2 -- Errore in apertura file: '%1': %2 -+ Errore in apertura file: '%1': %2 - - - -@@ -4024,7 +4024,7 @@ pertanto non è stato importato - - - days -- giorni -+ giorni - - - -@@ -4202,11 +4202,11 @@ pertanto non è stata salvata - pki_base - - Error opening file: '%1': %2 -- Errore in apertura file: '%1': %2 -+ Errore in apertura file: '%1': %2 - - - Error writing to file: '%1': %2 -- Errore scrittura file: '%1': %2 -+ Errore scrittura file: '%1': %2 - - - -@@ -4312,7 +4312,7 @@ Si trova nel database XCA '%5' - - - unknown -- Sconosciuto -+ Sconosciuto - - - -@@ -4322,22 +4322,22 @@ Si trova nel database XCA '%5' - - The XCA CRL '%1', issued by the CA '%2' on %3 will expire on %4. - It is stored in the XCA database '%5' -- La CRL XCA '%1', rilasciata dalla CA '%2' il %3, scadrà il %4. E' mantenuta nel database XCA '%5' -+ La CRL XCA '%1', rilasciata dalla CA '%2' il %3, scadrà il %4. E' mantenuta nel database XCA '%5' - - - - pki_evp - - Failed to decrypt the key (bad password) -- Impossibile decrittare la chiave (password errata) -+ Impossibile decrittare la chiave (password errata) - - - Failed to decrypt the key (bad password) %1 -- Impossibile decrittare la chiave (password errata) %1 -+ Impossibile decrittare la chiave (password errata) %1 - - - Please enter the password to decrypt the private key. -- Prego inserire la password per decrittare la chiave privata. -+ Prego inserire la password per decrittare la chiave privata. - - - diff --git a/xca-2.4.0-mimeicons.patch b/xca-2.4.0-mimeicons.patch deleted file mode 100644 index f8398e3..0000000 --- a/xca-2.4.0-mimeicons.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -Naurp xca-2.4.0.orig/misc/xca.xml xca-2.4.0.new/misc/xca.xml ---- xca-2.4.0.orig/misc/xca.xml 2021-05-07 22:40:29.000000000 +0200 -+++ xca-2.4.0.new/misc/xca.xml 2021-11-13 17:09:16.478893271 +0100 -@@ -3,11 +3,11 @@ - - XCA database - -- -+ - - - XCA template - -- -+ - - diff --git a/xca-2.4.0-noclean.patch b/xca-2.4.0-noclean.patch deleted file mode 100644 index e754f9f..0000000 --- a/xca-2.4.0-noclean.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Naurp xca-2.4.0.orig/Makefile xca-2.4.0.new/Makefile ---- xca-2.4.0.orig/Makefile 2021-05-07 22:40:29.000000000 +0200 -+++ xca-2.4.0.new/Makefile 2021-11-13 16:59:53.656274074 +0100 -@@ -69,7 +69,9 @@ PRINT=: - endif - export PRINT - --ifneq ($(TOPDIR), $(BUILD)) -+REALBUILD=$(shell realpath $(BUILD)) -+REALTOPDIR=$(shell realpath $(TOPDIR)) -+ifneq ($(REALTOPDIR), $(REALBUILD)) - do.ui: clean_topdir - clean_topdir: - $(MAKE) -C $(TOPDIR) clean diff --git a/xca-2.4.0-openssl3.patch b/xca-2.4.0-openssl3.patch deleted file mode 100644 index 7667d02..0000000 --- a/xca-2.4.0-openssl3.patch +++ /dev/null @@ -1,233 +0,0 @@ -diff -Naurp xca-2.4.0.orig/lib/pkcs11.cpp xca-2.4.0.new/lib/pkcs11.cpp ---- xca-2.4.0.orig/lib/pkcs11.cpp 2021-05-07 22:40:29.000000000 +0200 -+++ xca-2.4.0.new/lib/pkcs11.cpp 2021-11-13 02:58:27.866824246 +0100 -@@ -840,8 +840,7 @@ EVP_PKEY *pkcs11::getPrivateKey(EVP_PKEY - - switch (EVP_PKEY_type(keytype)) { - case EVP_PKEY_RSA: -- rsa = EVP_PKEY_get0_RSA(pub); -- rsa = RSAPublicKey_dup(rsa); -+ rsa = RSAPublicKey_dup(EVP_PKEY_get0_RSA(pub)); - openssl_error(); - if (!rsa_meth) { - #if OPENSSL_VERSION_NUMBER >= 0x1010000L -@@ -865,8 +864,7 @@ EVP_PKEY *pkcs11::getPrivateKey(EVP_PKEY - EVP_PKEY_assign_RSA(evp, rsa); - break; - case EVP_PKEY_DSA: -- dsa = EVP_PKEY_get0_DSA(pub); -- dsa = DSAparams_dup(dsa); -+ dsa = DSAparams_dup(EVP_PKEY_get0_DSA(pub)); - openssl_error(); - if (!dsa_meth) { - #if OPENSSL_VERSION_NUMBER >= 0x10100000L -@@ -889,8 +887,7 @@ EVP_PKEY *pkcs11::getPrivateKey(EVP_PKEY - break; - #if !defined(OPENSSL_NO_EC) && OPENSSL_VERSION_NUMBER >= 0x10100000L - case EVP_PKEY_EC: -- ec = EVP_PKEY_get0_EC_KEY(pub); -- ec = EC_KEY_dup(ec); -+ ec = EC_KEY_dup(EVP_PKEY_get0_EC_KEY(pub)); - openssl_error(); - if (!ec_key_meth) { - ec_key_meth = setup_ec_key_meth(); -diff -Naurp xca-2.4.0.orig/lib/pki_evp.cpp xca-2.4.0.new/lib/pki_evp.cpp ---- xca-2.4.0.orig/lib/pki_evp.cpp 2021-05-07 22:40:29.000000000 +0200 -+++ xca-2.4.0.new/lib/pki_evp.cpp 2021-11-13 03:00:39.279152488 +0100 -@@ -282,8 +282,8 @@ void pki_evp::fromPEMbyteArray(const QBy - static void search_ec_oid(EVP_PKEY *pkey) - { - #ifndef OPENSSL_NO_EC -- EC_KEY *ec; - EC_GROUP *builtin; -+ const EC_KEY *ec; - const EC_GROUP *ec_group; - - int keytype = EVP_PKEY_id(pkey); -@@ -498,7 +498,7 @@ void pki_evp::fload(const QString &fname - void pki_evp::fromData(const unsigned char *p, db_header_t *head) - { - int version, type, size; -- void *ptr = NULL; -+ const void *ptr = NULL; - - if (key) - EVP_PKEY_free(key); -@@ -518,8 +518,23 @@ void pki_evp::fromData(const unsigned ch - } - pki_openssl_error(); - -- if (key) -- ptr = EVP_PKEY_get0(key); -+ if (key) { -+ switch (EVP_PKEY_type(EVP_PKEY_id(key))) { -+ case EVP_PKEY_RSA: -+ ptr = EVP_PKEY_get0_RSA(key); -+ break; -+ case EVP_PKEY_DSA: -+ ptr = EVP_PKEY_get0_DSA(key); -+ break; -+#ifndef OPENSSL_NO_EX -+ case EVP_PKEY_EC: -+ ptr = EVP_PKEY_get0_EC_KEY(key); -+ break; -+#endif -+ default: -+ ptr = EVP_PKEY_get0(key); -+ } -+ } - if (!ptr) - throw errorEx(tr("Ignoring unsupported private key")); - -@@ -621,8 +636,8 @@ EVP_PKEY *pki_evp::legacyDecryptKey(QByt - - pki_openssl_error(); - if (EVP_PKEY_type(getKeyType()) == EVP_PKEY_RSA) { -- RSA *rsa = EVP_PKEY_get0_RSA(tmpkey); -- RSA_blinding_on(rsa, NULL); -+ const RSA *rsa = EVP_PKEY_get0_RSA(tmpkey); -+ RSA_blinding_on((RSA *) rsa, NULL); - } - myencKey.fill(0); - return tmpkey; -@@ -930,7 +945,7 @@ bool pki_evp::verify_priv(EVP_PKEY *pkey - EVP_MD_CTX_free(ctx); - #endif - if (EVP_PKEY_id(pkey) == EVP_PKEY_RSA && EVP_PKEY_isPrivKey(pkey)) { -- RSA *rsa = EVP_PKEY_get0_RSA(pkey); -+ const RSA *rsa = EVP_PKEY_get0_RSA(pkey); - if (RSA_check_key(rsa) != 1) - verify = false; - } -diff -Naurp xca-2.4.0.orig/lib/pki_key.cpp xca-2.4.0.new/lib/pki_key.cpp ---- xca-2.4.0.orig/lib/pki_key.cpp 2021-05-07 22:40:29.000000000 +0200 -+++ xca-2.4.0.new/lib/pki_key.cpp 2021-11-13 02:58:27.866824246 +0100 -@@ -197,7 +197,7 @@ QString pki_key::length() const - - if (EVP_PKEY_id(key) == EVP_PKEY_DSA) { - const BIGNUM *p = NULL; -- DSA *dsa = EVP_PKEY_get0_DSA(key); -+ const DSA *dsa = EVP_PKEY_get0_DSA(key); - if (dsa) - DSA_get0_pqg(dsa, &p, NULL, NULL); - dsa_unset = p == NULL; -@@ -299,7 +299,7 @@ QString pki_key::modulus() const - if (getKeyType() == EVP_PKEY_RSA) { - const BIGNUM *n = NULL; - -- RSA *rsa = EVP_PKEY_get0_RSA(key); -+ const RSA *rsa = EVP_PKEY_get0_RSA(key); - RSA_get0_key(rsa, &n, NULL, NULL); - return BN2QString(n); - } -@@ -310,7 +310,7 @@ QString pki_key::pubEx() const - { - if (getKeyType() == EVP_PKEY_RSA) { - const BIGNUM *e = NULL; -- RSA *rsa = EVP_PKEY_get0_RSA(key); -+ const RSA *rsa = EVP_PKEY_get0_RSA(key); - RSA_get0_key(rsa, NULL, &e, NULL); - return BN2QString(e); - } -@@ -321,7 +321,7 @@ QString pki_key::subprime() const - { - if (getKeyType() == EVP_PKEY_DSA) { - const BIGNUM *q = NULL; -- DSA *dsa = EVP_PKEY_get0_DSA(key); -+ const DSA *dsa = EVP_PKEY_get0_DSA(key); - if (dsa) - DSA_get0_pqg(dsa, NULL, &q, NULL); - return BN2QString(q); -@@ -333,7 +333,7 @@ QString pki_key::pubkey() const - { - if (getKeyType() == EVP_PKEY_DSA) { - const BIGNUM *pubkey = NULL; -- DSA *dsa = EVP_PKEY_get0_DSA(key); -+ const DSA *dsa = EVP_PKEY_get0_DSA(key); - if (dsa) - DSA_get0_key(dsa, &pubkey, NULL); - return BN2QString(pubkey); -@@ -766,7 +766,7 @@ QByteArray pki_key::SSH2publicQByteArray - txt = "ssh-rsa"; - ssh_key_QBA2data(txt, &data); - { -- RSA *rsa = EVP_PKEY_get0_RSA(key); -+ const RSA *rsa = EVP_PKEY_get0_RSA(key); - const BIGNUM *n, *e; - RSA_get0_key(rsa, &n, &e, NULL); - ssh_key_bn2data(e, &data); -@@ -777,7 +777,7 @@ QByteArray pki_key::SSH2publicQByteArray - txt = "ssh-dss"; - ssh_key_QBA2data(txt, &data); - { -- DSA *dsa = EVP_PKEY_get0_DSA(key); -+ const DSA *dsa = EVP_PKEY_get0_DSA(key); - const BIGNUM *p, *q, *g, *pubkey; - DSA_get0_pqg(dsa, &p, &q, &g); - DSA_get0_key(dsa, &pubkey, NULL); -diff -Naurp xca-2.4.0.orig/lib/pki_scard.cpp xca-2.4.0.new/lib/pki_scard.cpp ---- xca-2.4.0.orig/lib/pki_scard.cpp 2021-05-07 22:40:29.000000000 +0200 -+++ xca-2.4.0.new/lib/pki_scard.cpp 2021-11-13 03:02:20.379174056 +0100 -@@ -293,10 +293,10 @@ void pki_scard::deleteFromToken() - pk11_attlist pki_scard::objectAttributesNoId(EVP_PKEY *pk, bool priv) const - { - QByteArray ba; -- RSA *rsa; -- DSA *dsa; -+ const RSA *rsa; -+ const DSA *dsa; - #ifndef OPENSSL_NO_EC -- EC_KEY *ec; -+ const EC_KEY *ec; - #endif - const BIGNUM *n = NULL; - const BIGNUM *e = NULL; -@@ -401,10 +401,10 @@ int pki_scard::renameOnToken(const sloti - void pki_scard::store_token(const slotid &slot, EVP_PKEY *pkey) - { - QByteArray ba; -- RSA *rsa; -- DSA *dsa; -+ const RSA *rsa; -+ const DSA *dsa; - #ifndef OPENSSL_NO_EC -- EC_KEY *ec; -+ const EC_KEY *ec; - #endif - pk11_attlist pub_atts; - pk11_attlist priv_atts; -@@ -691,7 +691,7 @@ pki_scard::~pki_scard() - void pki_scard::fromData(const unsigned char *p, db_header_t *head ) - { - int version, size; -- void *ptr = NULL; -+ const void *ptr = NULL; - - size = head->len - sizeof(db_header_t); - version = head->version; -@@ -713,8 +713,23 @@ void pki_scard::fromData(const unsigned - - d2i(ba); - -- if (key) -- ptr = EVP_PKEY_get0(key); -+ if (key) { -+ switch (EVP_PKEY_type(EVP_PKEY_id(key))) { -+ case EVP_PKEY_RSA: -+ ptr = EVP_PKEY_get0_RSA(key); -+ break; -+ case EVP_PKEY_DSA: -+ ptr = EVP_PKEY_get0_DSA(key); -+ break; -+#ifndef OPENSSL_NO_EX -+ case EVP_PKEY_EC: -+ ptr = EVP_PKEY_get0_EC_KEY(key); -+ break; -+#endif -+ default: -+ ptr = EVP_PKEY_get0(key); -+ } -+ } - - if (!ptr) - throw errorEx(tr("Ignoring unsupported token key")); diff --git a/xca-2.5.0-README.IMPORTANT b/xca-2.5.0-README.IMPORTANT new file mode 100644 index 0000000..f65ad65 --- /dev/null +++ b/xca-2.5.0-README.IMPORTANT @@ -0,0 +1,28 @@ +When trying to use a private key when working on a database protected by +a password set by xca version < 2.0.0, version 2.5.0 and above might issue an +error like: + +--- +The following error occurred: +(8pki_x509[]:foo) +error:0300009C:digital envelope routines::unsupported algorithm +error:068C0100:asn1 encoding routines::malloc failure +error:068C0100:asn1 encoding routines::malloc failure + +(pki_x509.cpp:574) +--- + +The database is therefore unusable as it is in xca 2.5.0 for any operation +involving some private key. + +The solution is to reset the database password with xca version 2.4.0 +(Extra --> Change Database password). The new password may be the same as +the old one. + +If some private keys have their own password, reset the latter the same +way (right click --> Change password). + +Once these operations have been performed, the database is ready for use with +xca version >= 2.5. + +See https://github.com/chris2511/xca/discussions/468. diff --git a/xca-2.9.0-openssl4.patch b/xca-2.9.0-openssl4.patch new file mode 100644 index 0000000..85d3eca --- /dev/null +++ b/xca-2.9.0-openssl4.patch @@ -0,0 +1,504 @@ +diff -Naurp xca-2.9.0.orig/lib/asn1int.cpp xca-2.9.0.new/lib/asn1int.cpp +--- xca-2.9.0.orig/lib/asn1int.cpp 2025-03-28 19:28:15.000000000 +0100 ++++ xca-2.9.0.new/lib/asn1int.cpp 2026-07-21 14:50:45.138768332 +0200 +@@ -10,6 +10,7 @@ + #include "func_base.h" + #include "exception.h" + #include "limits.h" ++#include "openssl_compat.h" + #include + #include + +@@ -67,7 +68,7 @@ a1int &a1int::set(long l) + QString a1int::toQString(int dec) const + { + QString r; +- if (in->length == 0) { ++ if (xca_asn1_string_length(in.get()) == 0) { + return r; + } + QSharedPointer bn(ASN1_INTEGER_to_BN(get0(), NULL), BN_free); +diff -Naurp xca-2.9.0.orig/lib/asn1time.cpp xca-2.9.0.new/lib/asn1time.cpp +--- xca-2.9.0.orig/lib/asn1time.cpp 2025-03-28 19:28:15.000000000 +0100 ++++ xca-2.9.0.new/lib/asn1time.cpp 2026-07-21 15:48:01.479132516 +0200 +@@ -11,6 +11,7 @@ + #include "func.h" + #include "exception.h" + #include "asn1time.h" ++#include "openssl_compat.h" + #include + #include + #include +@@ -50,7 +51,8 @@ int a1time::from_asn1(const ASN1_TIME *a + gt = ASN1_TIME_to_generalizedtime((ASN1_TIME*)a, NULL); + if (!gt) + return -1; +- t = QString::fromLatin1((char*)gt->data, gt->length); ++ t = QString::fromLatin1((char*)xca_asn1_string_get0_data(gt), ++ xca_asn1_string_length(gt)); + ASN1_GENERALIZEDTIME_free(gt); + return fromPlain(t); + } +@@ -68,11 +70,15 @@ int a1time::fromPlain(const QString &pla + + int a1time::set_asn1(const QString &str, int type) const + { +- if (!atime) +- atime = ASN1_TIME_new(); +- if (!atime) +- return -1; +- atime->type = type; ++ if (atime && xca_asn1_string_type(atime) != type) { ++ ASN1_STRING_free(atime); ++ atime = NULL; ++ } ++ if (!atime) { ++ atime = ASN1_STRING_type_new(type); ++ if (!atime) ++ return -1; ++ } + if (ASN1_STRING_set(atime, str.toLatin1(), str.length())) + return -1; + return 0; +diff -Naurp xca-2.9.0.orig/lib/openssl_compat.h xca-2.9.0.new/lib/openssl_compat.h +--- xca-2.9.0.orig/lib/openssl_compat.h 2025-03-28 19:28:15.000000000 +0100 ++++ xca-2.9.0.new/lib/openssl_compat.h 2026-07-21 16:05:30.252809689 +0200 +@@ -35,4 +35,15 @@ EVP_DigestVerify(EVP_MD_CTX *ctx, const + } + #endif + ++ ++#if OPENSSL_VERSION_NUMBER < 0x40000000L ++#define xca_asn1_string_length(p) ((p)->length) ++#define xca_asn1_string_get0_data(p) ((p)->data) ++#define xca_asn1_string_type(p) ((p)->type) ++#else ++#define xca_asn1_string_length(p) ASN1_STRING_length(p) ++#define xca_asn1_string_get0_data(p) ASN1_STRING_get0_data(p) ++#define xca_asn1_string_type(p) ASN1_STRING_type(p) ++#endif ++ + #endif +diff -Naurp xca-2.9.0.orig/lib/pkcs11.cpp xca-2.9.0.new/lib/pkcs11.cpp +--- xca-2.9.0.orig/lib/pkcs11.cpp 2025-03-28 19:28:15.000000000 +0100 ++++ xca-2.9.0.new/lib/pkcs11.cpp 2026-07-22 17:10:39.158463523 +0200 +@@ -650,29 +650,6 @@ int pkcs11::encrypt(int flen, const unsi + return size; + } + +-#if not defined OPENSSL_NO_EC and defined EVP_PKEY_ED25519 +-// Shared between libressl and openssl +-static int eng_idx = -1; +-static int eng_finish(ENGINE *e) +-{ +- pkcs11 *p11 = (pkcs11 *)ENGINE_get_ex_data(e, eng_idx); +- delete p11; +- ENGINE_set_ex_data(e, eng_idx, NULL); +- return 1; +-} +- +-#if (OPENSSL_VERSION_NUMBER >= 0x30000000L) +-static int eng_pmeth_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src) +-#else +-static int eng_pmeth_copy(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src) +-#endif +-{ +- void *p = EVP_PKEY_CTX_get_app_data((EVP_PKEY_CTX *)src); +- EVP_PKEY_CTX_set_app_data(dst, p); +- return 1; +-} +-#endif +- + static int rsa_privdata_free(RSA *rsa) + { + pkcs11 *priv = (pkcs11*)RSA_get_app_data(rsa); +@@ -830,10 +807,33 @@ static EC_KEY_METHOD *setup_ec_key_meth( + ec_set_private_proc, ec_set_public_proc); + return ec_key_meth; + } +-#ifdef EVP_PKEY_ED25519 ++ ++ ++#if defined(EVP_PKEY_ED25519) && OPENSSL_VERSION_NUMBER < 0x40000000L + + static EVP_PKEY_METHOD *p11_eddsa_method; + ++// Shared between libressl and openssl ++static int eng_idx = -1; ++static int eng_finish(ENGINE *e) ++{ ++ pkcs11 *p11 = (pkcs11 *)ENGINE_get_ex_data(e, eng_idx); ++ delete p11; ++ ENGINE_set_ex_data(e, eng_idx, NULL); ++ return 1; ++} ++ ++#if (OPENSSL_VERSION_NUMBER >= 0x30000000L) ++static int eng_pmeth_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src) ++#else ++static int eng_pmeth_copy(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src) ++#endif ++{ ++ void *p = EVP_PKEY_CTX_get_app_data((EVP_PKEY_CTX *)src); ++ EVP_PKEY_CTX_set_app_data(dst, p); ++ return 1; ++} ++ + static int eddsa_eng_meths(ENGINE *e, EVP_PKEY_METHOD **m, const int **nids, int nid) + { + static const int my_nids[] = {EVP_PKEY_ED25519 }; +@@ -904,7 +904,7 @@ EVP_PKEY *pkcs11::getPrivateKey(EVP_PKEY + #ifndef OPENSSL_NO_EC + static EC_KEY_METHOD *ec_key_meth = NULL; + EC_KEY *ec; +-#ifdef EVP_PKEY_ED25519 ++#if defined(EVP_PKEY_ED25519) && OPENSSL_VERSION_NUMBER < 0x40000000L + static ENGINE *e = NULL; + + if (!e) { +@@ -991,6 +991,7 @@ EVP_PKEY *pkcs11::getPrivateKey(EVP_PKEY + #ifdef EVP_PKEY_ED25519 + case EVP_PKEY_ED25519: + size_t len; ++#if OPENSSL_VERSION_NUMBER < 0x40000000L + if (ENGINE_get_ex_data(e, eng_idx)) + qWarning() << "We forgot to free the previous Card key."; + ENGINE_set_ex_data(e, eng_idx, this); +@@ -1003,6 +1004,17 @@ EVP_PKEY *pkcs11::getPrivateKey(EVP_PKEY + openssl_error(); + OPENSSL_free(pubkey); + //EVP_PKEY_set1_engine(evp, e); ++#else ++ p11obj = obj; ++ EVP_PKEY_get_raw_public_key(pub, NULL, &len); ++ unsigned char *pubkey = (unsigned char *)OPENSSL_malloc(len); ++ Q_CHECK_PTR(pubkey); ++ EVP_PKEY_get_raw_public_key(pub, pubkey, &len); ++ evp = EVP_PKEY_new_raw_public_key_ex(OSSL_LIB_CTX_get0_global_default(), ++ "ED25519", NULL, pubkey, len); ++ openssl_error(); ++ OPENSSL_free(pubkey); ++#endif + break; + #endif + #endif +diff -Naurp xca-2.9.0.orig/lib/pki_pkcs12.cpp xca-2.9.0.new/lib/pki_pkcs12.cpp +--- xca-2.9.0.orig/lib/pki_pkcs12.cpp 2025-03-28 19:28:15.000000000 +0100 ++++ xca-2.9.0.new/lib/pki_pkcs12.cpp 2026-07-21 14:41:11.421805953 +0200 +@@ -85,7 +85,7 @@ pki_pkcs12::pki_pkcs12(const QString &fn + } + pki_ign_openssl_error(); + if (mycert) { +- unsigned char *str = X509_alias_get0(mycert, NULL); ++ const unsigned char *str = X509_alias_get0(mycert, NULL); + if (str) + alias = QString::fromUtf8((const char *)str); + alias = QString::fromUtf8(alias.toLatin1()); +diff -Naurp xca-2.9.0.orig/lib/pki_scard.cpp xca-2.9.0.new/lib/pki_scard.cpp +--- xca-2.9.0.orig/lib/pki_scard.cpp 2025-03-28 19:28:15.000000000 +0100 ++++ xca-2.9.0.new/lib/pki_scard.cpp 2026-07-21 16:07:19.266072856 +0200 +@@ -14,6 +14,7 @@ + #include "pkcs11.h" + #include "x509name.h" + #include "func.h" ++#include "openssl_compat.h" + #include "XcaProgress.h" + + #include "XcaWarningCore.h" +@@ -187,7 +188,8 @@ EVP_PKEY *pki_scard::load_pubkey(pkcs11 + d2i_bytearray(D2I_VOID(d2i_ASN1_OCTET_STRING), ba); + pki_openssl_error(); + +- BIGNUM *bn = BN_bin2bn(os->data, os->length, NULL); ++ BIGNUM *bn = BN_bin2bn(xca_asn1_string_get0_data(os), ++ xca_asn1_string_length(os), NULL); + pki_openssl_error(); + + EC_POINT *point = EC_POINT_bn2point(group, bn, NULL, NULL); +@@ -215,8 +217,8 @@ EVP_PKEY *pki_scard::load_pubkey(pkcs11 + d2i_bytearray(D2I_VOID(d2i_ASN1_OCTET_STRING), ba); + pki_openssl_error(); + pkey = EVP_PKEY_new_raw_public_key(EVP_PKEY_ED25519, NULL, +- (const uint8_t *)os->data, +- os->length); ++ (const uint8_t *)xca_asn1_string_get0_data(os), ++ xca_asn1_string_length(os)); + pki_openssl_error(); + ASN1_OCTET_STRING_free(os); + pki_openssl_error(); +diff -Naurp xca-2.9.0.orig/lib/pki_x509.cpp xca-2.9.0.new/lib/pki_x509.cpp +--- xca-2.9.0.orig/lib/pki_x509.cpp 2025-03-28 19:28:15.000000000 +0100 ++++ xca-2.9.0.new/lib/pki_x509.cpp 2026-07-21 16:09:29.644513174 +0200 +@@ -836,7 +836,7 @@ pki_key *pki_x509::getPubKey() const + bool pki_x509::compareNameAndKey(pki_x509 *other) + { + int r; +- X509_NAME *s1, *s2; ++ const X509_NAME *s1, *s2; + EVP_PKEY *pub1, *pub2; + + if (!cert || !other->cert) +diff -Naurp xca-2.9.0.orig/lib/pki_x509req.cpp xca-2.9.0.new/lib/pki_x509req.cpp +--- xca-2.9.0.orig/lib/pki_x509req.cpp 2025-03-28 19:28:15.000000000 +0100 ++++ xca-2.9.0.new/lib/pki_x509req.cpp 2026-07-21 16:11:59.068866756 +0200 +@@ -15,6 +15,7 @@ + #include "db_base.h" + #include "x509name.h" + #include "exception.h" ++#include "openssl_compat.h" + #include + + pki_x509req::pki_x509req(const QString &name) +@@ -204,7 +205,9 @@ void pki_x509req::addAttribute(int nid, + return; + + ASN1_STRING *a = QStringToAsn1(content, nid); +- X509_REQ_add1_attr_by_NID(request, nid, a->type, a->data, a->length); ++ X509_REQ_add1_attr_by_NID(request, nid, xca_asn1_string_type(a), ++ xca_asn1_string_get0_data(a), ++ xca_asn1_string_length(a)); + ASN1_STRING_free(a); + openssl_error_msg(QString("'%1' (%2)").arg(content).arg(OBJ_nid2ln(nid))); + } +diff -Naurp xca-2.9.0.orig/lib/x509name.cpp xca-2.9.0.new/lib/x509name.cpp +--- xca-2.9.0.orig/lib/x509name.cpp 2025-03-28 19:28:15.000000000 +0100 ++++ xca-2.9.0.new/lib/x509name.cpp 2026-07-21 15:56:14.876877763 +0200 +@@ -9,6 +9,7 @@ + #include "base.h" + #include "func_base.h" + #include "BioByteArray.h" ++#include "openssl_compat.h" + #include + #include + #include "exception.h" +@@ -89,7 +90,7 @@ QString x509name::getMostPopular() const + QString x509name::getEntry(int i) const + { + QString ret; +- ASN1_STRING *d; ++ const ASN1_STRING *d; + + if ( i<0 || i>entryCount() ) + return ret; +@@ -102,7 +103,7 @@ QString x509name::getEntry(int i) const + QString x509name::getEntryTag(int i) const + { + QString s = QObject::tr("Invalid"); +- ASN1_STRING *d; ++ const ASN1_STRING *d; + + if (i<0 || i>=entryCount()) + i = entryCount() - 1; +@@ -111,7 +112,7 @@ QString x509name::getEntryTag(int i) con + if (!d) + return s; + +- s = ASN1_tag2str(d->type); ++ s = ASN1_tag2str(xca_asn1_string_type(d)); + return s; + } + +@@ -154,13 +155,13 @@ QStringList x509name::entryList(int i) c + + int x509name::nid(int i) const + { +- X509_NAME_ENTRY *ne = X509_NAME_get_entry(get0(), i); ++ const X509_NAME_ENTRY *ne = X509_NAME_get_entry(get0(), i); + return ne ? OBJ_obj2nid(X509_NAME_ENTRY_get_object(ne)) : NID_undef; + } + + QString x509name::getOid(int i) const + { +- X509_NAME_ENTRY *ne = X509_NAME_get_entry(_get(), i); ++ const X509_NAME_ENTRY *ne = X509_NAME_get_entry(_get(), i); + return ne ? OBJ_obj2QString(X509_NAME_ENTRY_get_object(ne), 1) : QString(); + } + +@@ -258,7 +259,10 @@ void x509name::addEntryByNid(int nid, co + if (entry.isEmpty()) + return; + ASN1_STRING *a = QStringToAsn1(entry.simplified(), nid); +- X509_NAME_add_entry_by_NID(_get(), nid, a->type, a->data, a->length, -1, 0); ++ X509_NAME_add_entry_by_NID(_get(), nid, ++ xca_asn1_string_type(a), ++ xca_asn1_string_get0_data(a), ++ xca_asn1_string_length(a), -1, 0); + ASN1_STRING_free(a); + openssl_error_msg(QString("'%1' (%2)").arg(entry).arg(OBJ_nid2ln(nid))); + } +diff -Naurp xca-2.9.0.orig/lib/x509v3ext.cpp xca-2.9.0.new/lib/x509v3ext.cpp +--- xca-2.9.0.orig/lib/x509v3ext.cpp 2025-03-28 19:28:15.000000000 +0100 ++++ xca-2.9.0.new/lib/x509v3ext.cpp 2026-07-22 17:43:52.060374543 +0200 +@@ -10,6 +10,7 @@ + #include "asn1int.h" + #include "func.h" + #include "exception.h" ++#include "openssl_compat.h" + #include + #include + #include +@@ -49,8 +50,8 @@ x509v3ext::~x509v3ext() + x509v3ext &x509v3ext::set(const X509_EXTENSION *n) + { + if (n) { +- ASN1_OCTET_STRING *str = X509_EXTENSION_get_data((X509_EXTENSION *)n); +- if (!str || !str->length) ++ const ASN1_OCTET_STRING *str = X509_EXTENSION_get_data((X509_EXTENSION *)n); ++ if (!str || !xca_asn1_string_length(str)) + n = nullptr; + } + if (ext != nullptr) +@@ -116,7 +117,7 @@ x509v3ext &x509v3ext::create_ia5(int nid + + const ASN1_OBJECT *x509v3ext::object() const + { +- ASN1_OBJECT *obj = nullptr; ++ const ASN1_OBJECT *obj = nullptr; + if (ext) { + obj = X509_EXTENSION_get_object(ext); + ign_openssl_error(); +@@ -166,9 +167,9 @@ int x509v3ext::getCritical() const + return ext ? X509_EXTENSION_get_critical(ext) : 0; + } + +-ASN1_OCTET_STRING *x509v3ext::getData() const ++const ASN1_OCTET_STRING *x509v3ext::getData() const + { +- return ext ? X509_EXTENSION_get_data(ext) : nullptr;; ++ return ext ? X509_EXTENSION_get_data(ext) : nullptr; + } + + QString x509v3ext::getValue() const +@@ -318,7 +319,7 @@ static QString ipv6_from_binary(const un + static bool + genName2conf(GENERAL_NAME *gen, QString tag, QString *single, QString *sect) + { +- unsigned char *p; ++ const unsigned char *p; + QString ret; + + switch (gen->type) { +@@ -335,22 +336,23 @@ genName2conf(GENERAL_NAME *gen, QString + return true; + } + case GEN_IPADD: +- p = gen->d.ip->data; +- if (gen->d.ip->length == 4) { ++ p = xca_asn1_string_get0_data(gen->d.ip); ++ if (xca_asn1_string_length(gen->d.ip) == 4) { + *single = QString("IP:%1.%2.%3.%4"). + arg(p[0]).arg(p[1]).arg(p[2]).arg(p[3]); + return true; +- } else if(gen->d.ip->length == 8) { ++ } else if(xca_asn1_string_length(gen->d.ip) == 8) { + *single = QString("IP:%1.%2.%3.%4/%5.%6.%7.%8"). + arg(p[0]).arg(p[1]).arg(p[2]).arg(p[3]). + arg(p[4]).arg(p[5]).arg(p[6]).arg(p[7]); + return true; +- } else if(gen->d.ip->length == 16) { +- *single = "IP:" + ipv6_from_binary(gen->d.ip->data); ++ } else if(xca_asn1_string_length(gen->d.ip) == 16) { ++ *single = "IP:" + ipv6_from_binary(xca_asn1_string_get0_data(gen->d.ip)); + return true; +- } else if(gen->d.ip->length == 32) { +- *single = "IP:" + ipv6_from_binary(gen->d.ip->data) + +- "/" + ipv6_from_binary(gen->d.ip->data +16); ++ } else if(xca_asn1_string_length(gen->d.ip) == 32) { ++ *single = "IP:" + ++ ipv6_from_binary(xca_asn1_string_get0_data(gen->d.ip)) + ++ "/" + ipv6_from_binary(xca_asn1_string_get0_data(gen->d.ip) + 16); + return true; + } + return false; +@@ -372,9 +374,9 @@ genName2conf(GENERAL_NAME *gen, QString + *single = QString("otherName:%1;FORMAT:HEX,%2"). + arg(obj2SnOid(gen->d.otherName->type_id)). + arg(asn1Type2Name(type)); +- for (int i=0; ilength; i++) { ++ for (int i=0; idata[i]), 2, 16, QChar('0')); ++ arg((int)(xca_asn1_string_get0_data(a)[i]), 2, 16, QChar('0')); + } + } + return true; +@@ -423,12 +425,12 @@ bool x509v3ext::parse_ia5(QString *singl + return false; + + if (!str) { +- const unsigned char *p = getData()->data; +- str = d2i_ASN1_OCTET_STRING(NULL, &p, getData()->length); ++ const unsigned char *p = xca_asn1_string_get0_data(getData()); ++ str = d2i_ASN1_OCTET_STRING(NULL, &p, xca_asn1_string_length(getData())); + if (ign_openssl_error() || !str) + return false; + ret = QString("%2"). +- arg(asn1Type2Name(str->type)). ++ arg(asn1Type2Name(xca_asn1_string_type(str))). + arg(QString(asn1ToQString(str))); + } else { + ret = QString(asn1ToQString(str)); +@@ -824,10 +826,10 @@ bool x509v3ext::parse_generic(QString *, + + const ASN1_OBJECT *o = object(); + QString der, obj = o ? obj2SnOid(o) : QString("INVALID"); +- ASN1_OCTET_STRING *v = getData(); ++ const ASN1_OCTET_STRING *v = getData(); + +- for (int i=0; v && i < v->length; i++) +- der += QString(":%1").arg((int)(v->data[i]), 2, 16, QChar('0')); ++ for (int i=0; v && i < xca_asn1_string_length(v); i++) ++ der += QString(":%1").arg((int)(xca_asn1_string_get0_data(v)[i]), 2, 16, QChar('0')); + + if (adv) + *adv = QString("%1=%2DER%3\n").arg(obj). +@@ -1037,7 +1039,7 @@ X509_EXTENSION *x509v3ext::get() const + + bool x509v3ext::isValid() const + { +- return ext && getData() && getData()->length > 0 && ++ return ext && getData() && xca_asn1_string_length(getData()) > 0 && + OBJ_obj2nid(X509_EXTENSION_get_object(ext)) != NID_undef; + } + +diff -Naurp xca-2.9.0.orig/lib/x509v3ext.h xca-2.9.0.new/lib/x509v3ext.h +--- xca-2.9.0.orig/lib/x509v3ext.h 2025-03-28 19:28:15.000000000 +0100 ++++ xca-2.9.0.new/lib/x509v3ext.h 2026-07-22 17:33:42.586049536 +0200 +@@ -35,7 +35,7 @@ class x509v3ext + // bool operator == (const x509v3ext &x) const; + QString getObject() const; + int getCritical() const; +- ASN1_OCTET_STRING *getData() const; ++ const ASN1_OCTET_STRING *getData() const; + QString getValue() const; + QString getHtmlValue() const; + QString getConsoleValue(const QString &indent) const; +diff -Naurp xca-2.9.0.orig/widgets/CertDetail.cpp xca-2.9.0.new/widgets/CertDetail.cpp +--- xca-2.9.0.orig/widgets/CertDetail.cpp 2025-03-28 19:28:15.000000000 +0100 ++++ xca-2.9.0.new/widgets/CertDetail.cpp 2026-07-22 17:48:13.703356907 +0200 +@@ -16,6 +16,7 @@ + #include "lib/func_base.h" + #include "lib/func.h" + #include "lib/XcaWarningCore.h" ++#include "lib/openssl_compat.h" + #include + #include + #include +@@ -269,7 +270,7 @@ void CertDetail::setReq(pki_x509req *req + + int count = X509_ATTRIBUTE_count(att); + for (int j=0; jvalue.asn1_string); + attrLayout->addWidget(label, ii, j +1); + } +@@ -289,7 +290,7 @@ QLabel *CertDetail::labelFromAsn1String( + QLabel *label; + label = new CopyLabel(this); + label->setText(asn1ToQString(s)); +- label->setToolTip(QString(ASN1_tag2str(s->type))); ++ label->setToolTip(QString(ASN1_tag2str(xca_asn1_string_type(s)))); + return label; + } + diff --git a/xca.spec b/xca.spec index e821e12..d9b5861 100644 --- a/xca.spec +++ b/xca.spec @@ -3,32 +3,39 @@ Summary: Graphical X.509 certificate management tool Name: xca -Version: 2.4.0 -Release: 2%{?dist} -License: BSD +Version: 2.9.0 +Release: 5%{?dist} +# Automatically converted from old format: BSD - review is highly recommended. +License: LicenseRef-Callaway-BSD URL: https://hohnstaedt.de/xca/ Source0: https://github.com/%{gitowner0}/%{gitproject0}/releases/download/RELEASE.%{version}/%{name}-%{version}.tar.gz -Patch1: xca-2.4.0-openssl3.patch -Patch2: xca-2.4.0-noclean.patch -Patch3: xca-2.4.0-mimeicons.patch -Patch4: xca-2.4.0-lang-it.patch -Patch5: xca-2.4.0-lang-fr.patch +Source1: xca-2.5.0-README.IMPORTANT -BuildRequires: make +Patch1: xca-2.9.0-openssl4.patch + +BuildRequires: cmake BuildRequires: gcc-c++ -BuildRequires: qt5-qtbase-devel -BuildRequires: qt5-qttools-devel -BuildRequires: qt5-linguist +BuildRequires: cmake(Qt6Core) +BuildRequires: cmake(Qt6Widgets) +BuildRequires: cmake(Qt6Sql) +BuildRequires: cmake(Qt6Help) +BuildRequires: cmake(Qt6LinguistTools) +BuildRequires: cmake(Qt6Test) BuildRequires: openssl-devel -BuildRequires: xdg-utils +%if 0%{?fedora} >= 41 && 0%{?fedora} <= 44 +BuildRequires: openssl-devel-engine +%endif +BuildRequires: desktop-file-utils +BuildRequires: libappstream-glib BuildRequires: libtool-ltdl-devel BuildRequires: python3-sphinx +BuildRequires: python3-sphinxcontrib-qthelp Requires: hicolor-icon-theme -Suggests: qt5-qtbase-mysql -Suggests: qt5-qtbase-postgresql -Suggests: qt5-qtbase-odbc +Suggests: qt6-qtbase-mysql +Suggests: qt6-qtbase-postgresql +Suggests: qt6-qtbase-odbc %description @@ -39,10 +46,10 @@ OpenSSL library for the cryptographic operations. Certificate signing requests (PKCS#10), certificates (X509v3), the signing of requests, the creation of self-signed certificates, certificate revocation lists and SmartCards are supported. For an easy company-wide use, customizable -templates can be used for certificate and request generation. The PKI structures -can be imported and exported in several formats like PKCS#7, PKCS#12, PEM, -DER, PKCS#8. All cryptographic data are stored in a byte order agnostic file -format, portable across operating systems. +templates can be used for certificate and request generation. The PKI +structures can be imported and exported in several formats like PKCS#7, +PKCS#12, PEM, DER, PKCS#8. All cryptographic data are stored in a byte order +agnostic file format, portable across operating systems. #------------------------------------------------------------------------------- @@ -50,24 +57,23 @@ format, portable across operating systems. #------------------------------------------------------------------------------- %autosetup -p 1 +cp '%{SOURCE1}' README.IMPORTANT #------------------------------------------------------------------------------- %build #------------------------------------------------------------------------------- -%configure CXXFLAGS='%{optflags}' \ - STRIP=: \ - LIBS='-Wl,-as-needed' -make %{?_smp_mflags} +export CXXFLAGS='%{optflags} -DDOCDIR=\"%{_docdir}/xca\"' +%cmake -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed" +%cmake_build #------------------------------------------------------------------------------- %install #------------------------------------------------------------------------------- -make DESTDIR='%{buildroot}' \ - ICON_SIZES='16x16 32x32 48x48 64x64 128x128 256x256' install +%cmake_install # Do not include db statistics program and man. find '%{buildroot}' -name 'xca_db_stat*' -delete @@ -75,47 +81,128 @@ find '%{buildroot}' -name 'xca_db_stat*' -delete # Do not use pixmaps directory. rm -rf '%{buildroot}%{_datadir}/pixmaps' +# Reinstall documentation. +rm -rf '%{buildroot}%{_docdir}/xca'/* +mv '%{buildroot}%{_datadir}/xca/html' '%{buildroot}%{_docdir}/xca/' + # Install mime file types. install -d -m 755 '%{buildroot}%{_datadir}/mime/packages' install -p -m 644 misc/xca.xml '%{buildroot}%{_datadir}/mime/packages/' -# Install desktop application file. -desktop-file-install --mode 0644 \ - --dir '%{buildroot}%{_datadir}/applications' \ - --delete-original \ - --add-mime-type application/x-xca-database \ - --remove-category QT \ - --set-icon=xca \ - '%{buildroot}%{_datadir}/applications/xca.desktop' +# Validate desktop files. +desktop-file-validate \ + '%{buildroot}%{_datadir}/applications/de.hohnstaedt.xca.desktop' +appstream-util validate-relax --nonet \ + '%{buildroot}%{_metainfodir}/de.hohnstaedt.xca.metainfo.xml' + +# Template contains neither translations nor language code. +rm -f '%{buildroot}%{_datadir}/xca/i18n/xca.qm' # Tag translation files. %find_lang '%{name}' --with-qt +#------------------------------------------------------------------------------- +%check +#------------------------------------------------------------------------------- + +# Do not test GUI. +%ctest -E '^testxca$' || : + + #------------------------------------------------------------------------------- %files -f %{name}.lang #------------------------------------------------------------------------------- -%doc AUTHORS COPYRIGHT +%doc AUTHORS COPYRIGHT README.IMPORTANT %doc %{_docdir}/xca/* -%{_bindir}/* +%{_bindir}/xca %dir %{_datadir}/xca %{_datadir}/xca/*.txt %{_datadir}/xca/*.xca %{_datadir}/icons/*/*/*/*.png %{_datadir}/mime/packages/%{name}.* -%{_datadir}/applications/* +%{_datadir}/applications/de.hohnstaedt.xca.desktop %{_datadir}/bash-completion/ +%{_metainfodir}/de.hohnstaedt.xca.metainfo.xml %attr(0644, root, root) %{_mandir}/*/* #------------------------------------------------------------------------------- %changelog +#------------------------------------------------------------------------------- + +* Wed Jul 22 2026 Patrick Monnerat 2.9.0-5 +- Patch "openssl4" for openssl version 4 compatibility. +- Remove BR openssl-devel-engine for Fedora > 44. +- Perform tests. + +* Fri Jul 17 2026 Fedora Release Engineering - 2.9.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sat Jun 13 2026 Yaakov Selkowitz - 2.9.0-3 +- Rebuilt for openssl 4.0 + +* Sat Jan 17 2026 Fedora Release Engineering - 2.9.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Mon Sep 01 2025 Yaakov Selkowitz - 2.9.0-1 +- Update to 2.9.0 + +* Fri Jul 25 2025 Fedora Release Engineering - 2.7.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sun Jan 19 2025 Fedora Release Engineering - 2.7.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Sep 6 2024 Patrick Monnerat 2.7.0-1 +- New upstream release. + +* Wed Sep 4 2024 Miroslav Suchý - 2.6.0-5 +- convert license to SPDX + +* Tue Jul 23 2024 Patrick Monnerat 2.6.0-4 +- BR openssl-devel-engine for Fedora >= 41. + +* Sat Jul 20 2024 Fedora Release Engineering - 2.6.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Mon May 6 2024 Patrick Monnerat 2.6.0-2 +- Fix application icon. + https://bugzilla.redhat.com/show_bug.cgi?id=2279161 + +* Sun Mar 17 2024 Patrick Monnerat 2.6.0-1 +- New upstream release. + +* Mon Jan 22 2024 Patrick Monnerat 2.5.0-3 +- Patch "pastekey" fixes a crash pasting an encrypted private key. + https://github.com/chris2511/xca/commit/d29d55a +- Patch "revokedel" fixes a freeze when deleting a certificate. + https://github.com/chris2511/xca/commit/43e1b33 +- Patch "delete_after_revoke" fixes a crash deleting+revoking a certificate. + https://bugzilla.redhat.com/show_bug.cgi?id=2259477 + +* Tue Nov 07 2023 Miro Hrončok - 2.5.0-2 +- Explicitly BuildRequire python3-sphinxcontrib-qthelp + +* Fri Oct 6 2023 Patrick Monnerat 2.5.0-1 +- New upstream release. +- Build using cmake. +- Doc file "README.IMPORTANT" for needed passord reset. + https://github.com/chris2511/xca/issues/458#issuecomment-1740106691 + +* Sat Jul 22 2023 Fedora Release Engineering - 2.4.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 2.4.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 2.4.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Sat Jan 22 2022 Fedora Release Engineering - 2.4.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild -#------------------------------------------------------------------------------- - * Sat Nov 13 2021 Patrick Monnerat 2.4.0-1 - New upstream release. - Patch "openssl3" for openssl version 3 compatibility.