From 568caed3c7aab32ef8733dafb64543d941d9fd71 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Tue, 20 Feb 2024 01:01:15 +0100 Subject: [PATCH] Ask password to generate S/MIME self signed #259 --- dev/View/Popup/Identity.js | 27 ++++++++++++------- .../snappymail/smime/certificate.php | 17 ++++++------ .../libraries/snappymail/smime/openssl.php | 3 ++- .../v/0.0.0/app/localization/ar-SA/user.json | 4 ++- .../v/0.0.0/app/localization/bg-BG/user.json | 4 ++- .../v/0.0.0/app/localization/cs-CZ/user.json | 4 ++- .../v/0.0.0/app/localization/da-DK/user.json | 4 ++- .../v/0.0.0/app/localization/de-DE/user.json | 4 ++- .../v/0.0.0/app/localization/el-GR/user.json | 4 ++- .../v/0.0.0/app/localization/en-GB/user.json | 4 ++- .../v/0.0.0/app/localization/en/user.json | 4 ++- .../v/0.0.0/app/localization/es-ES/user.json | 4 ++- .../v/0.0.0/app/localization/et-EE/user.json | 4 ++- .../v/0.0.0/app/localization/eu/user.json | 4 ++- .../v/0.0.0/app/localization/fa-IR/user.json | 4 ++- .../v/0.0.0/app/localization/fi-FI/user.json | 4 ++- .../v/0.0.0/app/localization/fr-FR/user.json | 4 ++- .../v/0.0.0/app/localization/hu-HU/user.json | 4 ++- .../v/0.0.0/app/localization/id-ID/user.json | 4 ++- .../v/0.0.0/app/localization/is-IS/user.json | 4 ++- .../v/0.0.0/app/localization/it-IT/user.json | 4 ++- .../v/0.0.0/app/localization/ja-JP/user.json | 4 ++- .../v/0.0.0/app/localization/ko-KR/user.json | 4 ++- .../v/0.0.0/app/localization/lt-LT/user.json | 4 ++- .../v/0.0.0/app/localization/lv-LV/user.json | 4 ++- .../v/0.0.0/app/localization/nb-NO/user.json | 4 ++- .../v/0.0.0/app/localization/nl-NL/user.json | 4 ++- .../v/0.0.0/app/localization/pl-PL/user.json | 4 ++- .../v/0.0.0/app/localization/pt-BR/user.json | 4 ++- .../v/0.0.0/app/localization/pt-PT/user.json | 4 ++- .../v/0.0.0/app/localization/pt/user.json | 4 ++- .../v/0.0.0/app/localization/ro-RO/user.json | 4 ++- .../v/0.0.0/app/localization/ru-RU/user.json | 4 ++- .../v/0.0.0/app/localization/sk-SK/user.json | 4 ++- .../v/0.0.0/app/localization/sl-SI/user.json | 4 ++- .../v/0.0.0/app/localization/sv-SE/user.json | 4 ++- .../v/0.0.0/app/localization/tr-TR/user.json | 4 ++- .../v/0.0.0/app/localization/uk-UA/user.json | 4 ++- .../v/0.0.0/app/localization/vi-VN/user.json | 4 ++- .../v/0.0.0/app/localization/zh-CN/user.json | 4 ++- .../v/0.0.0/app/localization/zh-TW/user.json | 4 ++- .../templates/Views/User/PopupsIdentity.html | 2 +- .../Views/User/SettingsSecurity.html | 8 +++--- 43 files changed, 147 insertions(+), 62 deletions(-) diff --git a/dev/View/Popup/Identity.js b/dev/View/Popup/Identity.js index 7d97812f2..0a15cd6de 100644 --- a/dev/View/Popup/Identity.js +++ b/dev/View/Popup/Identity.js @@ -14,6 +14,8 @@ import { folderListOptionsBuilder } from 'Common/Folders'; import { i18n } from 'Common/Translator'; import { defaultOptionsAfterRender } from 'Common/Utils'; +import { AskPopupView } from 'View/Popup/Ask'; + export class IdentityPopupView extends AbstractViewPopup { constructor() { super('Identity'); @@ -42,16 +44,21 @@ export class IdentityPopupView extends AbstractViewPopup { this.createSelfSigned = this.createSelfSigned.bind(this); } - createSelfSigned() { - let identity = this.identity(); - Remote.request('SMimeCreateCertificate', (iError, oData) => { - if (oData.Result.x509) { - identity.smimeKey(oData.Result.pkey); - identity.smimeCertificate(oData.Result.x509); - } - }, { - email: identity.email() - }); + async createSelfSigned() { + const identity = this.identity(), + pass = await AskPopupView.password('', 'CRYPTO/CREATE_SELF_SIGNED'); + if (pass) { + Remote.request('SMimeCreateCertificate', (iError, oData) => { + if (oData.Result.x509) { + identity.smimeKey(oData.Result.pkey); + identity.smimeCertificate(oData.Result.x509); + } + }, { + name: identity.name(), + email: identity.email(), + passphrase: pass.password + }); + } } submitForm(form) { diff --git a/snappymail/v/0.0.0/app/libraries/snappymail/smime/certificate.php b/snappymail/v/0.0.0/app/libraries/snappymail/smime/certificate.php index d3c464476..801cebfaa 100644 --- a/snappymail/v/0.0.0/app/libraries/snappymail/smime/certificate.php +++ b/snappymail/v/0.0.0/app/libraries/snappymail/smime/certificate.php @@ -55,7 +55,7 @@ class Certificate /** * Verifies if a certificate can be used for a particular purpose */ - public function checkPurpose($purpose, array $cainfo = array(), $untrustedfile = null)/*: bool|int*/ + public function checkPurpose(int $purpose, array $cainfo = array(), ?string $untrustedfile = null)/*: bool|int*/ { if ($this->x509) { return \openssl_x509_checkpurpose($this->x509, $purpose, $cainfo, $untrustedfile); @@ -80,7 +80,7 @@ class Certificate /** * Returns the certificate in a PEM encoded format string */ - public function export($notext = true) : ?string + public function export(bool $notext = true) : ?string { if ($this->x509) { $output = ''; @@ -94,7 +94,7 @@ class Certificate /** * Returns the fingerprint or digest of the certificate */ - public function fingerprint($hash_algorithm = 'sha1', $raw_output = false)/*: string|bool*/ + public function fingerprint(string $hash_algorithm = 'sha1', bool $raw_output = false)/*: string|bool*/ { return $this->x509 ? \openssl_x509_fingerprint($this->x509, $hash_algorithm, $raw_output) : false; } @@ -102,17 +102,17 @@ class Certificate /** * Returns the certificate information as an array */ - public function info($shortnames = true) /*: array|bool*/ + public function info(bool $shortnames = true) /*: array|bool*/ { return $this->x509 ? \openssl_x509_parse($this->x509, $shortnames) : false; } - public static function getCipherMethods($aliases = false) : array + public static function getCipherMethods(bool $aliases = false) : array { return \openssl_get_cipher_methods($aliases); } - public function createSelfSigned($passphrase = null) : array + public function createSelfSigned(string $passphrase = '') : array { $options = array( 'config' => __DIR__ . '/openssl.cnf', @@ -144,6 +144,7 @@ class Certificate $options ); if ($this->x509/* && $this->canSign() && $this->canEncrypt()*/) { + $this->pkey = $pkey; $privatekey = ''; $certificate = ''; $csrStr = ''; @@ -166,10 +167,10 @@ class Certificate } // returns binary data - public function asPKCS12($priv_key, $pass = null, array $args = array()) : string + public function asPKCS12(string $pass = '', array $args = array()) : string { $out = ''; - \openssl_pkcs12_export($this->x509, $out, $priv_key, $pass, $args); + \openssl_pkcs12_export($this->x509, $out, $this->pkey, $pass, $args); return $out; } } diff --git a/snappymail/v/0.0.0/app/libraries/snappymail/smime/openssl.php b/snappymail/v/0.0.0/app/libraries/snappymail/smime/openssl.php index fb22ce754..c69e7c2c1 100644 --- a/snappymail/v/0.0.0/app/libraries/snappymail/smime/openssl.php +++ b/snappymail/v/0.0.0/app/libraries/snappymail/smime/openssl.php @@ -45,7 +45,8 @@ class OpenSSL 'file' => \basename($file), 'CN' => $data['subject']['CN'], 'emailAddress' => $data['subject']['emailAddress'], - 'validTo' => \gmdate('Y-m-d\\TH:i:s\\Z', $data['validTo_time_t']), +// 'validTo' => \gmdate('Y-m-d\\TH:i:s\\Z', $data['validTo_time_t']), + 'validTo_time_t' => $data['validTo_time_t'], 'smimesign' => false, 'smimeencrypt' => false, 'privateKey' => null // not found or encrypted diff --git a/snappymail/v/0.0.0/app/localization/ar-SA/user.json b/snappymail/v/0.0.0/app/localization/ar-SA/user.json index 8af947d2c..3850a57f1 100644 --- a/snappymail/v/0.0.0/app/localization/ar-SA/user.json +++ b/snappymail/v/0.0.0/app/localization/ar-SA/user.json @@ -280,7 +280,9 @@ "DECRYPT": "فك تشفير", "VERIFY": "Verify", "GOOD_SIGNATURE": "توقيع جيد من %USER%", - "ERROR": "%TYPE% error: %ERROR%" + "ERROR": "%TYPE% error: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "OpenPGP استيراد مفتاح", diff --git a/snappymail/v/0.0.0/app/localization/bg-BG/user.json b/snappymail/v/0.0.0/app/localization/bg-BG/user.json index 03b60d34d..67c7f82b1 100644 --- a/snappymail/v/0.0.0/app/localization/bg-BG/user.json +++ b/snappymail/v/0.0.0/app/localization/bg-BG/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Дешифрирай", "VERIFY": "Verify", "GOOD_SIGNATURE": "Валиден подпис за %USER%", - "ERROR": "%TYPE% грешка: %ERROR%" + "ERROR": "%TYPE% грешка: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Внасяне на OpenPGP ключ", diff --git a/snappymail/v/0.0.0/app/localization/cs-CZ/user.json b/snappymail/v/0.0.0/app/localization/cs-CZ/user.json index de2cbb58c..221eda3e0 100644 --- a/snappymail/v/0.0.0/app/localization/cs-CZ/user.json +++ b/snappymail/v/0.0.0/app/localization/cs-CZ/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Dešifrovat", "VERIFY": "Verify", "GOOD_SIGNATURE": "Ověřený podpis od %USER%", - "ERROR": "%TYPE% chyba: %ERROR%" + "ERROR": "%TYPE% chyba: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Import OpenPGP klíče", diff --git a/snappymail/v/0.0.0/app/localization/da-DK/user.json b/snappymail/v/0.0.0/app/localization/da-DK/user.json index a1d7cea01..658f3f3bd 100644 --- a/snappymail/v/0.0.0/app/localization/da-DK/user.json +++ b/snappymail/v/0.0.0/app/localization/da-DK/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Dekrypter", "VERIFY": "Verify", "GOOD_SIGNATURE": "Accepteret signatur for %USER\"", - "ERROR": "%TYPE% fejl: %ERROR%" + "ERROR": "%TYPE% fejl: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Importer OpenPGP nøgle", diff --git a/snappymail/v/0.0.0/app/localization/de-DE/user.json b/snappymail/v/0.0.0/app/localization/de-DE/user.json index 3f118bffc..cce00f1f8 100644 --- a/snappymail/v/0.0.0/app/localization/de-DE/user.json +++ b/snappymail/v/0.0.0/app/localization/de-DE/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Entschlüsseln", "VERIFY": "Überprüfen", "GOOD_SIGNATURE": "Gültige Unterschrift von %USER%", - "ERROR": "%TYPE%-Fehler: %ERROR%" + "ERROR": "%TYPE%-Fehler: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "OpenPGP-Schlüssel importieren", diff --git a/snappymail/v/0.0.0/app/localization/el-GR/user.json b/snappymail/v/0.0.0/app/localization/el-GR/user.json index f5c3515ff..62199defc 100644 --- a/snappymail/v/0.0.0/app/localization/el-GR/user.json +++ b/snappymail/v/0.0.0/app/localization/el-GR/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Αποκρυπτογράφηση", "VERIFY": "Verify", "GOOD_SIGNATURE": "Good signature from %USER%", - "ERROR": "%TYPE% error: %ERROR%" + "ERROR": "%TYPE% error: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Εισαγωγή κλειδιού OpenPGP", diff --git a/snappymail/v/0.0.0/app/localization/en-GB/user.json b/snappymail/v/0.0.0/app/localization/en-GB/user.json index ce31338f7..1736d7681 100644 --- a/snappymail/v/0.0.0/app/localization/en-GB/user.json +++ b/snappymail/v/0.0.0/app/localization/en-GB/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Decrypt", "VERIFY": "Verify", "GOOD_SIGNATURE": "Good signature from %USER%", - "ERROR": "%TYPE% error: %ERROR%" + "ERROR": "%TYPE% error: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Import OpenPGP key", diff --git a/snappymail/v/0.0.0/app/localization/en/user.json b/snappymail/v/0.0.0/app/localization/en/user.json index 5f432f9b2..8b6882a54 100644 --- a/snappymail/v/0.0.0/app/localization/en/user.json +++ b/snappymail/v/0.0.0/app/localization/en/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Decrypt", "VERIFY": "Verify", "GOOD_SIGNATURE": "Good signature from %USER%", - "ERROR": "%TYPE% error: %ERROR%" + "ERROR": "%TYPE% error: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Import OpenPGP key", diff --git a/snappymail/v/0.0.0/app/localization/es-ES/user.json b/snappymail/v/0.0.0/app/localization/es-ES/user.json index c82a251d2..5a08f97e5 100644 --- a/snappymail/v/0.0.0/app/localization/es-ES/user.json +++ b/snappymail/v/0.0.0/app/localization/es-ES/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Descifrar", "VERIFY": "Verify", "GOOD_SIGNATURE": "Buena firma de %USER%", - "ERROR": "Error %TYPE%: %ERROR%" + "ERROR": "Error %TYPE%: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Importar clave OpenPGP", diff --git a/snappymail/v/0.0.0/app/localization/et-EE/user.json b/snappymail/v/0.0.0/app/localization/et-EE/user.json index 096812533..b83696a4b 100644 --- a/snappymail/v/0.0.0/app/localization/et-EE/user.json +++ b/snappymail/v/0.0.0/app/localization/et-EE/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Dekrüpteeri", "VERIFY": "Verify", "GOOD_SIGNATURE": "Korralik signatuur kasutajalt %USER%", - "ERROR": "%TYPE% viga: %ERROR%" + "ERROR": "%TYPE% viga: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Impordi OpenPGP võti", diff --git a/snappymail/v/0.0.0/app/localization/eu/user.json b/snappymail/v/0.0.0/app/localization/eu/user.json index 6e75cf890..4d193ec4d 100644 --- a/snappymail/v/0.0.0/app/localization/eu/user.json +++ b/snappymail/v/0.0.0/app/localization/eu/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Deszifratu", "VERIFY": "Egiaztatu", "GOOD_SIGNATURE": "%USER%-en sinadura egokia", - "ERROR": "%TYPE% errorea: %ERROR%" + "ERROR": "%TYPE% errorea: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Inportatu OpenPGP gakoa", diff --git a/snappymail/v/0.0.0/app/localization/fa-IR/user.json b/snappymail/v/0.0.0/app/localization/fa-IR/user.json index 90442f4f1..9ec701b95 100644 --- a/snappymail/v/0.0.0/app/localization/fa-IR/user.json +++ b/snappymail/v/0.0.0/app/localization/fa-IR/user.json @@ -280,7 +280,9 @@ "DECRYPT": "رمزگشایی", "VERIFY": "Verify", "GOOD_SIGNATURE": "امضای صحیح از %USER%", - "ERROR": "خطای %TYPE%: %ERROR%" + "ERROR": "خطای %TYPE%: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "واردکردن کلید OpenPGP", diff --git a/snappymail/v/0.0.0/app/localization/fi-FI/user.json b/snappymail/v/0.0.0/app/localization/fi-FI/user.json index f016cbd14..067641524 100644 --- a/snappymail/v/0.0.0/app/localization/fi-FI/user.json +++ b/snappymail/v/0.0.0/app/localization/fi-FI/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Pura", "VERIFY": "Verify", "GOOD_SIGNATURE": "Oikea allekirjoitus %USER% lle", - "ERROR": "%TYPE% virhe: %ERROR%" + "ERROR": "%TYPE% virhe: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Tuo OpenPGP avain", diff --git a/snappymail/v/0.0.0/app/localization/fr-FR/user.json b/snappymail/v/0.0.0/app/localization/fr-FR/user.json index a339a7d04..2a61ed4e9 100644 --- a/snappymail/v/0.0.0/app/localization/fr-FR/user.json +++ b/snappymail/v/0.0.0/app/localization/fr-FR/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Déchiffrer", "VERIFY": "Vérifier", "GOOD_SIGNATURE": "Signature valide pour %USER%", - "ERROR": "Erreur %TYPE%: %ERROR%" + "ERROR": "Erreur %TYPE%: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Importer la clef OpenPGP", diff --git a/snappymail/v/0.0.0/app/localization/hu-HU/user.json b/snappymail/v/0.0.0/app/localization/hu-HU/user.json index a3b6282bd..fc7db0705 100644 --- a/snappymail/v/0.0.0/app/localization/hu-HU/user.json +++ b/snappymail/v/0.0.0/app/localization/hu-HU/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Visszafejtés", "VERIFY": "Verify", "GOOD_SIGNATURE": "Jó aláírás tőle: %USER%", - "ERROR": "%TYPE% hiba: %ERROR%" + "ERROR": "%TYPE% hiba: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "OpenPGP kulcs importálás", diff --git a/snappymail/v/0.0.0/app/localization/id-ID/user.json b/snappymail/v/0.0.0/app/localization/id-ID/user.json index a1903e6a9..691f6fae1 100644 --- a/snappymail/v/0.0.0/app/localization/id-ID/user.json +++ b/snappymail/v/0.0.0/app/localization/id-ID/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Deskripsi", "VERIFY": "Verify", "GOOD_SIGNATURE": "Tandatangan sah dari user %USER%", - "ERROR": "Kesalahan %TYPE%: %ERROR%" + "ERROR": "Kesalahan %TYPE%: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Impor kunci OpenPGP", diff --git a/snappymail/v/0.0.0/app/localization/is-IS/user.json b/snappymail/v/0.0.0/app/localization/is-IS/user.json index ee73004aa..ee592e50a 100644 --- a/snappymail/v/0.0.0/app/localization/is-IS/user.json +++ b/snappymail/v/0.0.0/app/localization/is-IS/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Afkóða", "VERIFY": "Verify", "GOOD_SIGNATURE": "Gild undirritun frá %USER%", - "ERROR": "%TYPE% villa: %ERROR%" + "ERROR": "%TYPE% villa: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Flytja inn OpenPGP-lykil", diff --git a/snappymail/v/0.0.0/app/localization/it-IT/user.json b/snappymail/v/0.0.0/app/localization/it-IT/user.json index 3f715b2df..bbab5eb33 100644 --- a/snappymail/v/0.0.0/app/localization/it-IT/user.json +++ b/snappymail/v/0.0.0/app/localization/it-IT/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Decriptazione", "VERIFY": "Verifica", "GOOD_SIGNATURE": "Firma valida da %USER%", - "ERROR": "Errore di %TYPE%: %ERROR%" + "ERROR": "Errore di %TYPE%: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Importa chiave OpenPGP", diff --git a/snappymail/v/0.0.0/app/localization/ja-JP/user.json b/snappymail/v/0.0.0/app/localization/ja-JP/user.json index 851e61304..d30bb9d61 100644 --- a/snappymail/v/0.0.0/app/localization/ja-JP/user.json +++ b/snappymail/v/0.0.0/app/localization/ja-JP/user.json @@ -280,7 +280,9 @@ "DECRYPT": "復号化", "VERIFY": "Verify", "GOOD_SIGNATURE": "%USER%からの正しい署名", - "ERROR": "%TYPE% エラー: %ERROR%" + "ERROR": "%TYPE% エラー: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "OpenPGPキーをインポート", diff --git a/snappymail/v/0.0.0/app/localization/ko-KR/user.json b/snappymail/v/0.0.0/app/localization/ko-KR/user.json index 0b78c7595..0e98535b6 100644 --- a/snappymail/v/0.0.0/app/localization/ko-KR/user.json +++ b/snappymail/v/0.0.0/app/localization/ko-KR/user.json @@ -280,7 +280,9 @@ "DECRYPT": "복호화", "VERIFY": "Verify", "GOOD_SIGNATURE": "%USER%(으)로부터 수신한 양호한 서명", - "ERROR": "%TYPE% 오류: %ERROR%" + "ERROR": "%TYPE% 오류: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "OpenPGP 키 가져오기", diff --git a/snappymail/v/0.0.0/app/localization/lt-LT/user.json b/snappymail/v/0.0.0/app/localization/lt-LT/user.json index 0737f2ca9..040b05884 100644 --- a/snappymail/v/0.0.0/app/localization/lt-LT/user.json +++ b/snappymail/v/0.0.0/app/localization/lt-LT/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Decrypt", "VERIFY": "Verify", "GOOD_SIGNATURE": "Tinkamas parašas nuo %USER%", - "ERROR": "%TYPE% klaida: %ERROR%" + "ERROR": "%TYPE% klaida: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Importuoti OpenPGP raktą", diff --git a/snappymail/v/0.0.0/app/localization/lv-LV/user.json b/snappymail/v/0.0.0/app/localization/lv-LV/user.json index bcae12b26..67303e3e2 100644 --- a/snappymail/v/0.0.0/app/localization/lv-LV/user.json +++ b/snappymail/v/0.0.0/app/localization/lv-LV/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Decrypt", "VERIFY": "Verify", "GOOD_SIGNATURE": "Good signature from %USER%", - "ERROR": "%TYPE% error: %ERROR%" + "ERROR": "%TYPE% error: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Import OpenPGP key", diff --git a/snappymail/v/0.0.0/app/localization/nb-NO/user.json b/snappymail/v/0.0.0/app/localization/nb-NO/user.json index 239e61c21..2440a25f8 100644 --- a/snappymail/v/0.0.0/app/localization/nb-NO/user.json +++ b/snappymail/v/0.0.0/app/localization/nb-NO/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Dekrypter", "VERIFY": "Verify", "GOOD_SIGNATURE": "Gyldig signatur fra %USER%", - "ERROR": "%TYPE%-feil: %ERROR%" + "ERROR": "%TYPE%-feil: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Importer OpenPGP-nøkkel", diff --git a/snappymail/v/0.0.0/app/localization/nl-NL/user.json b/snappymail/v/0.0.0/app/localization/nl-NL/user.json index 406f521bc..879732029 100644 --- a/snappymail/v/0.0.0/app/localization/nl-NL/user.json +++ b/snappymail/v/0.0.0/app/localization/nl-NL/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Ontsleutelen", "VERIFY": "Verifiëren", "GOOD_SIGNATURE": "Juiste handtekening van %USER%", - "ERROR": "%TYPE% foutmelding: %ERROR%" + "ERROR": "%TYPE% foutmelding: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Importeer OpenPGP sleutel", diff --git a/snappymail/v/0.0.0/app/localization/pl-PL/user.json b/snappymail/v/0.0.0/app/localization/pl-PL/user.json index 353e53282..fabc9f507 100644 --- a/snappymail/v/0.0.0/app/localization/pl-PL/user.json +++ b/snappymail/v/0.0.0/app/localization/pl-PL/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Odszyfruj", "VERIFY": "Weryfikuj", "GOOD_SIGNATURE": "Poprawnie podpisana przez %USER%", - "ERROR": "Błąd %TYPE%: %ERROR%" + "ERROR": "Błąd %TYPE%: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Importowanie klucza OpenPGP", diff --git a/snappymail/v/0.0.0/app/localization/pt-BR/user.json b/snappymail/v/0.0.0/app/localization/pt-BR/user.json index 98f36cae3..cd2a4292f 100644 --- a/snappymail/v/0.0.0/app/localization/pt-BR/user.json +++ b/snappymail/v/0.0.0/app/localization/pt-BR/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Decrypt", "VERIFY": "Verify", "GOOD_SIGNATURE": "Boa assinatura de %USER%", - "ERROR": "Erro %TYPE%: %ERROR%" + "ERROR": "Erro %TYPE%: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Importar chave OpenPGP", diff --git a/snappymail/v/0.0.0/app/localization/pt-PT/user.json b/snappymail/v/0.0.0/app/localization/pt-PT/user.json index f2c8f408d..7978dffe6 100644 --- a/snappymail/v/0.0.0/app/localization/pt-PT/user.json +++ b/snappymail/v/0.0.0/app/localization/pt-PT/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Desencriptar", "VERIFY": "Validar", "GOOD_SIGNATURE": "Boa assinatura de %USER%", - "ERROR": "Erro %TYPE%: %ERROR%" + "ERROR": "Erro %TYPE%: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Importar chave OpenPGP", diff --git a/snappymail/v/0.0.0/app/localization/pt/user.json b/snappymail/v/0.0.0/app/localization/pt/user.json index f2c8f408d..7978dffe6 100644 --- a/snappymail/v/0.0.0/app/localization/pt/user.json +++ b/snappymail/v/0.0.0/app/localization/pt/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Desencriptar", "VERIFY": "Validar", "GOOD_SIGNATURE": "Boa assinatura de %USER%", - "ERROR": "Erro %TYPE%: %ERROR%" + "ERROR": "Erro %TYPE%: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Importar chave OpenPGP", diff --git a/snappymail/v/0.0.0/app/localization/ro-RO/user.json b/snappymail/v/0.0.0/app/localization/ro-RO/user.json index 4f9c9466e..7121cb716 100644 --- a/snappymail/v/0.0.0/app/localization/ro-RO/user.json +++ b/snappymail/v/0.0.0/app/localization/ro-RO/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Decrypt", "VERIFY": "Verify", "GOOD_SIGNATURE": "Good signature from %USER%", - "ERROR": "%TYPE% error: %ERROR%" + "ERROR": "%TYPE% error: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Import OpenPGP key", diff --git a/snappymail/v/0.0.0/app/localization/ru-RU/user.json b/snappymail/v/0.0.0/app/localization/ru-RU/user.json index 9dbf7cf7f..1039b7190 100644 --- a/snappymail/v/0.0.0/app/localization/ru-RU/user.json +++ b/snappymail/v/0.0.0/app/localization/ru-RU/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Расшифровать", "VERIFY": "Проверить", "GOOD_SIGNATURE": "Подтвержденная сигнатура для %USER%", - "ERROR": "%TYPE% ошибка: %ERROR%" + "ERROR": "%TYPE% ошибка: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Импорт OpenPGP ключа", diff --git a/snappymail/v/0.0.0/app/localization/sk-SK/user.json b/snappymail/v/0.0.0/app/localization/sk-SK/user.json index 67754c85c..c1575b27d 100644 --- a/snappymail/v/0.0.0/app/localization/sk-SK/user.json +++ b/snappymail/v/0.0.0/app/localization/sk-SK/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Decrypt", "VERIFY": "Verify", "GOOD_SIGNATURE": "Good signature from %USER%", - "ERROR": "%TYPE% error: %ERROR%" + "ERROR": "%TYPE% error: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Importovať kľúč OpenPGP", diff --git a/snappymail/v/0.0.0/app/localization/sl-SI/user.json b/snappymail/v/0.0.0/app/localization/sl-SI/user.json index 7badcc589..c7f1ec320 100644 --- a/snappymail/v/0.0.0/app/localization/sl-SI/user.json +++ b/snappymail/v/0.0.0/app/localization/sl-SI/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Dešifriraj", "VERIFY": "Verify", "GOOD_SIGNATURE": "Dober podpis od %USER%", - "ERROR": "%TYPE% napaka: %ERROR%" + "ERROR": "%TYPE% napaka: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Uvoz OpenPGP ključa", diff --git a/snappymail/v/0.0.0/app/localization/sv-SE/user.json b/snappymail/v/0.0.0/app/localization/sv-SE/user.json index 1ef408081..88ccf65da 100644 --- a/snappymail/v/0.0.0/app/localization/sv-SE/user.json +++ b/snappymail/v/0.0.0/app/localization/sv-SE/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Avkryptera", "VERIFY": "Verify", "GOOD_SIGNATURE": "Godkänd signatur för %USER%", - "ERROR": "%TYPE%-fel: %ERROR%" + "ERROR": "%TYPE%-fel: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Import av OpenPGP-nyckel", diff --git a/snappymail/v/0.0.0/app/localization/tr-TR/user.json b/snappymail/v/0.0.0/app/localization/tr-TR/user.json index 8342cbf15..68725c98d 100644 --- a/snappymail/v/0.0.0/app/localization/tr-TR/user.json +++ b/snappymail/v/0.0.0/app/localization/tr-TR/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Decrypt", "VERIFY": "Verify", "GOOD_SIGNATURE": "Geçerli imza %USER%", - "ERROR": "%TYPE% hatası: %ERROR%" + "ERROR": "%TYPE% hatası: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "OpenPGP key'i içe aktar", diff --git a/snappymail/v/0.0.0/app/localization/uk-UA/user.json b/snappymail/v/0.0.0/app/localization/uk-UA/user.json index fd1617225..cfe3b79fb 100644 --- a/snappymail/v/0.0.0/app/localization/uk-UA/user.json +++ b/snappymail/v/0.0.0/app/localization/uk-UA/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Дешифрувати", "VERIFY": "Verify", "GOOD_SIGNATURE": "Підтверджена сигнатура для %USER%", - "ERROR": "%TYPE% помилка: %ERROR%" + "ERROR": "%TYPE% помилка: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Імпорт OpenPGP ключа", diff --git a/snappymail/v/0.0.0/app/localization/vi-VN/user.json b/snappymail/v/0.0.0/app/localization/vi-VN/user.json index 61e9b0dbb..710a79f13 100644 --- a/snappymail/v/0.0.0/app/localization/vi-VN/user.json +++ b/snappymail/v/0.0.0/app/localization/vi-VN/user.json @@ -280,7 +280,9 @@ "DECRYPT": "Gỡ mã hóa", "VERIFY": "Xác minh", "GOOD_SIGNATURE": "Chữ ký ổn từ %USER%", - "ERROR": "Lỗi %TYPE%: %ERROR%" + "ERROR": "Lỗi %TYPE%: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "Nhập mật mã OpenPGP", diff --git a/snappymail/v/0.0.0/app/localization/zh-CN/user.json b/snappymail/v/0.0.0/app/localization/zh-CN/user.json index c9a88777a..4d7bf0bce 100644 --- a/snappymail/v/0.0.0/app/localization/zh-CN/user.json +++ b/snappymail/v/0.0.0/app/localization/zh-CN/user.json @@ -280,7 +280,9 @@ "DECRYPT": "解密", "VERIFY": "Verify", "GOOD_SIGNATURE": "来自 %USER% 的可用签名", - "ERROR": "%TYPE% 错误: %ERROR%" + "ERROR": "%TYPE% 错误: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "导入 OpenPGP 密钥", diff --git a/snappymail/v/0.0.0/app/localization/zh-TW/user.json b/snappymail/v/0.0.0/app/localization/zh-TW/user.json index 24adde2be..e0bad2324 100644 --- a/snappymail/v/0.0.0/app/localization/zh-TW/user.json +++ b/snappymail/v/0.0.0/app/localization/zh-TW/user.json @@ -280,7 +280,9 @@ "DECRYPT": "解密", "VERIFY": "驗證", "GOOD_SIGNATURE": "來自「%USER%」的良好簽署", - "ERROR": "%TYPE% 錯誤: %ERROR%" + "ERROR": "%TYPE% 錯誤: %ERROR%", + "CREATE_SELF_SIGNED": "Create self-signed", + "VALID_UNTIL": "Valid until" }, "OPENPGP": { "POPUP_IMPORT_TITLE": "匯入 OpenPGP 金鑰", diff --git a/snappymail/v/0.0.0/app/templates/Views/User/PopupsIdentity.html b/snappymail/v/0.0.0/app/templates/Views/User/PopupsIdentity.html index 17ea5c624..f49013933 100644 --- a/snappymail/v/0.0.0/app/templates/Views/User/PopupsIdentity.html +++ b/snappymail/v/0.0.0/app/templates/Views/User/PopupsIdentity.html @@ -98,7 +98,7 @@
✔ 🔒 - | -
-
+ + : + |