feat: add S/MIME store for managing key records and public certificates
- Implemented Zustand store for S/MIME functionality, including state management for key records and public certificates. - Added methods for importing PKCS#12 files and public certificates, binding identities to keys, and managing unlocked keys. - Introduced session storage for remembering unlocked keys across sessions. - Enhanced error handling and loading states during data operations.
This commit is contained in:
+97
-1
@@ -416,6 +416,15 @@
|
||||
"upload_cancel": "Annuler l'envoi",
|
||||
"upload_failed": "Échec du téléversement de {filename}",
|
||||
"send_failed": "Échec de l'envoi de l'e-mail",
|
||||
"smime_sign_on": "Signature S/MIME activée",
|
||||
"smime_sign_off": "Signature S/MIME désactivée",
|
||||
"smime_encrypt_on": "Chiffrement S/MIME activé",
|
||||
"smime_encrypt_off": "Chiffrement S/MIME désactivé",
|
||||
"smime_encrypt_unavailable": "Le chiffrement S/MIME n'est pas disponible : {reason}",
|
||||
"smime_unlock_title": "Déverrouiller la clé S/MIME",
|
||||
"smime_unlock_message": "Entrez la phrase secrète pour déverrouiller votre clé S/MIME.",
|
||||
"smime_unlock_button": "Déverrouiller",
|
||||
"smime_passphrase_placeholder": "Phrase secrète S/MIME",
|
||||
"continue_draft": "Continuer le brouillon",
|
||||
"close_draft_title": "Enregistrer ou supprimer le brouillon ?",
|
||||
"close_draft_message": "Vous avez des modifications non enregistrées. Voulez-vous enregistrer comme brouillon ou supprimer ?",
|
||||
@@ -552,6 +561,7 @@
|
||||
"folders": "Dossiers",
|
||||
"keywords": "Mots-clés",
|
||||
"security": "Sécurité",
|
||||
"encryption": "Chiffrement",
|
||||
"files": "Fichiers",
|
||||
"contacts": "Contacts"
|
||||
},
|
||||
@@ -1439,7 +1449,16 @@
|
||||
"calendar": "Calendrier",
|
||||
"calendar_uri": "URL du calendrier",
|
||||
"scheduling_uri": "URL de planification",
|
||||
"freebusy_uri": "URL de disponibilité"
|
||||
"freebusy_uri": "URL de disponibilité",
|
||||
"cert_issuer": "Émetteur",
|
||||
"cert_expires": "Expire le",
|
||||
"cert_expired": "Expiré",
|
||||
"cert_fingerprint": "Empreinte",
|
||||
"cert_algorithm": "Algorithme",
|
||||
"import_to_smime": "Importer dans S/MIME",
|
||||
"cert_already_imported": "Certificat déjà importé",
|
||||
"cert_imported": "Certificat importé",
|
||||
"cert_import_failed": "Échec de l'import du certificat"
|
||||
},
|
||||
"form": {
|
||||
"create_title": "Nouveau contact",
|
||||
@@ -1989,5 +2008,82 @@
|
||||
"settings_folder_layout_desc": "Choose how folders are displayed: inline with files or in a sidebar tree",
|
||||
"settings_folder_layout_inline": "Inline",
|
||||
"settings_folder_layout_sidebar": "Sidebar"
|
||||
},
|
||||
"smime": {
|
||||
"your_certificates": "Vos certificats",
|
||||
"your_certificates_desc": "Importez et gérez vos certificats S/MIME pour signer et chiffrer les e-mails",
|
||||
"recipient_certificates": "Certificats des destinataires",
|
||||
"recipient_certificates_desc": "Certificats publics pour chiffrer les e-mails destinés aux destinataires",
|
||||
"identity_bindings": "Liaisons identité-clé",
|
||||
"identity_bindings_desc": "Associez des certificats S/MIME à vos identités de messagerie",
|
||||
"defaults_title": "Valeurs par défaut",
|
||||
"defaults_desc": "Configurez le comportement par défaut de signature et de chiffrement",
|
||||
"import_pkcs12": "Importer PKCS#12 (.p12/.pfx)",
|
||||
"import_public_cert": "Importer un certificat",
|
||||
"no_certificates": "Aucun certificat importé pour le moment",
|
||||
"no_recipient_certs": "Aucun certificat destinataire",
|
||||
"expires": "Expire le",
|
||||
"expired": "Expiré",
|
||||
"bound_to": "Lié à",
|
||||
"no_key_bound": "Aucun",
|
||||
"lock": "Verrouiller la clé",
|
||||
"unlock": "Déverrouiller la clé",
|
||||
"details": "Voir les détails",
|
||||
"delete": "Supprimer",
|
||||
"encrypt_by_default": "Chiffrer par défaut",
|
||||
"encrypt_by_default_desc": "Chiffrer automatiquement les e-mails lorsque tous les destinataires ont un certificat",
|
||||
"remember_unlocked": "Mémoriser les clés déverrouillées",
|
||||
"remember_unlocked_desc": "Conserver les clés déverrouillées pendant cette session du navigateur",
|
||||
"sign_default_for": "Signer par défaut pour",
|
||||
"enter_p12_passphrase": "Entrer la phrase secrète PKCS#12",
|
||||
"p12_passphrase_desc": "Entrez la phrase secrète qui protège ce fichier de certificat",
|
||||
"enter_storage_passphrase": "Définir la phrase secrète de stockage",
|
||||
"storage_passphrase_desc": "Choisissez une phrase secrète pour protéger cette clé dans votre navigateur",
|
||||
"next": "Suivant",
|
||||
"import": "Importer",
|
||||
"unlock_key": "Déverrouiller la clé",
|
||||
"unlock_key_desc": "Entrez la phrase secrète de stockage pour déverrouiller cette clé pour la signature ou le déchiffrement",
|
||||
"passphrase_placeholder": "Entrez la phrase secrète",
|
||||
"confirm_passphrase_placeholder": "Confirmez la phrase secrète",
|
||||
"passphrase_mismatch": "Les phrases secrètes ne correspondent pas",
|
||||
"cancel": "Annuler",
|
||||
"processing": "Traitement…",
|
||||
"close": "Fermer",
|
||||
"certificate_details": "Détails du certificat",
|
||||
"cert_subject": "Sujet",
|
||||
"cert_issuer": "Émetteur",
|
||||
"cert_email": "E-mail",
|
||||
"cert_serial": "Numéro de série",
|
||||
"cert_validity": "Validité",
|
||||
"cert_fingerprint": "Empreinte (SHA-256)",
|
||||
"cert_algorithm": "Algorithme",
|
||||
"cert_capabilities": "Capacités",
|
||||
"cert_source": "Source",
|
||||
"cert_expired": "Ce certificat a expiré",
|
||||
"cert_not_yet_valid": "Ce certificat n'est pas encore valide",
|
||||
"cap_sign": "Signature",
|
||||
"cap_encrypt": "Chiffrement",
|
||||
"cap_none": "Aucune",
|
||||
"show_passphrase": "Afficher la phrase secrète",
|
||||
"hide_passphrase": "Masquer la phrase secrète",
|
||||
"sign_toggle": "Signer",
|
||||
"encrypt_toggle": "Chiffrer",
|
||||
"missing_recipient_certs": "Certificats manquants pour : {emails}",
|
||||
"missing_sender_cert": "Aucun certificat n'est lié à cette identité",
|
||||
"status_encrypted_ok": "Ce message a été chiffré",
|
||||
"status_encrypted_no_key": "Ce message est chiffré, mais aucune clé correspondante n'a été trouvée",
|
||||
"status_encrypted_failed": "Impossible de déchiffrer ce message",
|
||||
"status_signed_valid": "Signature vérifiée",
|
||||
"status_signed_invalid": "Échec de la vérification de la signature",
|
||||
"status_signed_expired_cert": "Signé avec un certificat expiré",
|
||||
"status_signed_mismatch": "La signature est valide, mais le signataire ne correspond pas à l'expéditeur",
|
||||
"status_unsupported": "Format S/MIME non pris en charge",
|
||||
"auto_import_signer_certs": "Importer automatiquement les certificats des signataires",
|
||||
"auto_import_signer_certs_desc": "Enregistrer automatiquement les certificats des e-mails signés vérifiés pour un futur chiffrement",
|
||||
"export": "Exporter",
|
||||
"enter_export_passphrase": "Définir la phrase secrète d'export",
|
||||
"export_passphrase_desc": "Choisissez une phrase secrète pour protéger le fichier PKCS#12 exporté",
|
||||
"export_storage_desc": "Entrez la phrase secrète de stockage pour déchiffrer la clé avant l'export",
|
||||
"incorrect_passphrase": "Phrase secrète incorrecte"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user