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": "Hochladen abbrechen",
|
||||
"upload_failed": "Hochladen von {filename} fehlgeschlagen",
|
||||
"send_failed": "E-Mail konnte nicht gesendet werden",
|
||||
"smime_sign_on": "S/MIME-Signatur aktiviert",
|
||||
"smime_sign_off": "S/MIME-Signatur deaktiviert",
|
||||
"smime_encrypt_on": "S/MIME-Verschlüsselung aktiviert",
|
||||
"smime_encrypt_off": "S/MIME-Verschlüsselung deaktiviert",
|
||||
"smime_encrypt_unavailable": "S/MIME-Verschlüsselung nicht möglich: {reason}",
|
||||
"smime_unlock_title": "S/MIME-Schlüssel entsperren",
|
||||
"smime_unlock_message": "Geben Sie die Passphrase ein, um Ihren S/MIME-Schlüssel zu entsperren.",
|
||||
"smime_unlock_button": "Entsperren",
|
||||
"smime_passphrase_placeholder": "S/MIME-Passphrase",
|
||||
"continue_draft": "Entwurf fortsetzen",
|
||||
"close_draft_title": "Entwurf speichern oder verwerfen?",
|
||||
"close_draft_message": "Sie haben ungespeicherte Änderungen. Möchten Sie diese als Entwurf speichern oder verwerfen?",
|
||||
@@ -552,6 +561,7 @@
|
||||
"folders": "Ordner",
|
||||
"keywords": "Schlüsselwörter",
|
||||
"security": "Sicherheit",
|
||||
"encryption": "Verschlüsselung",
|
||||
"files": "Dateien",
|
||||
"contacts": "Contacts"
|
||||
},
|
||||
@@ -1439,7 +1449,16 @@
|
||||
"calendar": "Kalender",
|
||||
"calendar_uri": "Kalender-URL",
|
||||
"scheduling_uri": "Terminplanungs-URL",
|
||||
"freebusy_uri": "Frei/Belegt-URL"
|
||||
"freebusy_uri": "Frei/Belegt-URL",
|
||||
"cert_issuer": "Aussteller",
|
||||
"cert_expires": "Läuft ab",
|
||||
"cert_expired": "Abgelaufen",
|
||||
"cert_fingerprint": "Fingerabdruck",
|
||||
"cert_algorithm": "Algorithmus",
|
||||
"import_to_smime": "In S/MIME importieren",
|
||||
"cert_already_imported": "Zertifikat bereits importiert",
|
||||
"cert_imported": "Zertifikat importiert",
|
||||
"cert_import_failed": "Import des Zertifikats fehlgeschlagen"
|
||||
},
|
||||
"form": {
|
||||
"create_title": "Neuer Kontakt",
|
||||
@@ -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": "Ihre Zertifikate",
|
||||
"your_certificates_desc": "Importieren und verwalten Sie Ihre S/MIME-Zertifikate zum Signieren und Verschlüsseln von E-Mails",
|
||||
"recipient_certificates": "Empfängerzertifikate",
|
||||
"recipient_certificates_desc": "Öffentliche Zertifikate zum Verschlüsseln von E-Mails an Empfänger",
|
||||
"identity_bindings": "Identitäts-Zertifikatsbindungen",
|
||||
"identity_bindings_desc": "Ordnen Sie S/MIME-Zertifikate Ihren E-Mail-Identitäten zu",
|
||||
"defaults_title": "Standardwerte",
|
||||
"defaults_desc": "Konfigurieren Sie das Standardverhalten für Signatur und Verschlüsselung",
|
||||
"import_pkcs12": "PKCS#12 importieren (.p12/.pfx)",
|
||||
"import_public_cert": "Zertifikat importieren",
|
||||
"no_certificates": "Noch keine Zertifikate importiert",
|
||||
"no_recipient_certs": "Keine Empfängerzertifikate",
|
||||
"expires": "Läuft ab",
|
||||
"expired": "Abgelaufen",
|
||||
"bound_to": "Zugeordnet zu",
|
||||
"no_key_bound": "Keine",
|
||||
"lock": "Schlüssel sperren",
|
||||
"unlock": "Schlüssel entsperren",
|
||||
"details": "Details anzeigen",
|
||||
"delete": "Löschen",
|
||||
"encrypt_by_default": "Standardmäßig verschlüsseln",
|
||||
"encrypt_by_default_desc": "E-Mails automatisch verschlüsseln, wenn alle Empfänger Zertifikate haben",
|
||||
"remember_unlocked": "Entsperrte Schlüssel merken",
|
||||
"remember_unlocked_desc": "Schlüssel für die Dauer dieser Browsersitzung entsperrt lassen",
|
||||
"sign_default_for": "Standardmäßig signieren für",
|
||||
"enter_p12_passphrase": "PKCS#12-Passphrase eingeben",
|
||||
"p12_passphrase_desc": "Geben Sie die Passphrase ein, die diese Zertifikatsdatei schützt",
|
||||
"enter_storage_passphrase": "Speicher-Passphrase festlegen",
|
||||
"storage_passphrase_desc": "Wählen Sie eine Passphrase, um diesen Schlüssel im Browser zu schützen",
|
||||
"next": "Weiter",
|
||||
"import": "Importieren",
|
||||
"unlock_key": "Schlüssel entsperren",
|
||||
"unlock_key_desc": "Geben Sie die Speicher-Passphrase ein, um diesen Schlüssel zum Signieren oder Entschlüsseln zu entsperren",
|
||||
"passphrase_placeholder": "Passphrase eingeben",
|
||||
"confirm_passphrase_placeholder": "Passphrase bestätigen",
|
||||
"passphrase_mismatch": "Passphrasen stimmen nicht überein",
|
||||
"cancel": "Abbrechen",
|
||||
"processing": "Wird verarbeitet…",
|
||||
"close": "Schließen",
|
||||
"certificate_details": "Zertifikatsdetails",
|
||||
"cert_subject": "Betreff",
|
||||
"cert_issuer": "Aussteller",
|
||||
"cert_email": "E-Mail",
|
||||
"cert_serial": "Seriennummer",
|
||||
"cert_validity": "Gültigkeit",
|
||||
"cert_fingerprint": "Fingerabdruck (SHA-256)",
|
||||
"cert_algorithm": "Algorithmus",
|
||||
"cert_capabilities": "Fähigkeiten",
|
||||
"cert_source": "Quelle",
|
||||
"cert_expired": "Dieses Zertifikat ist abgelaufen",
|
||||
"cert_not_yet_valid": "Dieses Zertifikat ist noch nicht gültig",
|
||||
"cap_sign": "Signieren",
|
||||
"cap_encrypt": "Verschlüsselung",
|
||||
"cap_none": "Keine",
|
||||
"show_passphrase": "Passphrase anzeigen",
|
||||
"hide_passphrase": "Passphrase ausblenden",
|
||||
"sign_toggle": "Signieren",
|
||||
"encrypt_toggle": "Verschlüsseln",
|
||||
"missing_recipient_certs": "Fehlende Zertifikate für: {emails}",
|
||||
"missing_sender_cert": "Diesem Konto ist kein Zertifikat zugeordnet",
|
||||
"status_encrypted_ok": "Diese Nachricht wurde verschlüsselt",
|
||||
"status_encrypted_no_key": "Diese Nachricht ist verschlüsselt, aber es wurde kein passender Schlüssel gefunden",
|
||||
"status_encrypted_failed": "Diese Nachricht konnte nicht entschlüsselt werden",
|
||||
"status_signed_valid": "Signatur überprüft",
|
||||
"status_signed_invalid": "Signaturprüfung fehlgeschlagen",
|
||||
"status_signed_expired_cert": "Mit einem abgelaufenen Zertifikat signiert",
|
||||
"status_signed_mismatch": "Signatur ist gültig, aber der Unterzeichner stimmt nicht mit dem Absender überein",
|
||||
"status_unsupported": "Nicht unterstütztes S/MIME-Format",
|
||||
"auto_import_signer_certs": "Unterzeichnerzertifikate automatisch importieren",
|
||||
"auto_import_signer_certs_desc": "Zertifikate aus verifizierten signierten E-Mails automatisch für spätere Verschlüsselung speichern",
|
||||
"export": "Exportieren",
|
||||
"enter_export_passphrase": "Export-Passphrase festlegen",
|
||||
"export_passphrase_desc": "Wählen Sie eine Passphrase zum Schutz der exportierten PKCS#12-Datei",
|
||||
"export_storage_desc": "Geben Sie die Speicher-Passphrase ein, um den Schlüssel für den Export zu entschlüsseln",
|
||||
"incorrect_passphrase": "Falsche Passphrase"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user