From 062539b7d7ba3dcb883816ceb888c4f082a18364 Mon Sep 17 00:00:00 2001 From: "Marvin A. Ruder" Date: Tue, 11 Mar 2025 15:30:46 +0100 Subject: [PATCH] dkim: Add support for 3072 and 4096 bit RSA keys (#6365) * dkim: Add support for 3072 and 4096 bit RSA keys Signed-off-by: Marvin A. Ruder * php: added missing ; in dkim function * php: make 4096 DKIM default * db: update schema to set dkim 4096 as default * Revert "db: update schema to set dkim 4096 as default" This reverts commit 790b40a69563722513cda540ba34e3ae30874e05. * Revert "php: make 4096 DKIM default" This reverts commit 7e643376c7e11d23b0dae95ae59a2a5cc195e057. --------- Signed-off-by: Marvin A. Ruder Co-authored-by: DerLinkman --- data/web/api/openapi.yaml | 2 +- data/web/inc/functions.dkim.inc.php | 5 ++++- data/web/templates/admin/tab-config-dkim.twig | 2 ++ data/web/templates/edit/domain-templates.twig | 2 ++ data/web/templates/modals/mailbox.twig | 6 ++++++ 5 files changed, 15 insertions(+), 2 deletions(-) diff --git a/data/web/api/openapi.yaml b/data/web/api/openapi.yaml index 969aa7707..7fb4af308 100644 --- a/data/web/api/openapi.yaml +++ b/data/web/api/openapi.yaml @@ -409,7 +409,7 @@ paths: description: a list of domains for which a dkim key should be generated type: string key_size: - description: the key size (1024 or 2048) + description: the key size (1024, 2048, 3072 or 4096) type: number type: object summary: Generate DKIM Key diff --git a/data/web/inc/functions.dkim.inc.php b/data/web/inc/functions.dkim.inc.php index 8b1766a20..e7e411730 100644 --- a/data/web/inc/functions.dkim.inc.php +++ b/data/web/inc/functions.dkim.inc.php @@ -240,9 +240,12 @@ function dkim($_action, $_data = null, $privkey = false) { if (strlen($dkimdata['pubkey']) < 391) { $dkimdata['length'] = "1024"; } - elseif (strlen($dkimdata['pubkey']) < 736) { + elseif (strlen($dkimdata['pubkey']) < 564) { $dkimdata['length'] = "2048"; } + elseif (strlen($dkimdata['pubkey']) < 736) { + $dkimdata['length'] = "3072"; + } elseif (strlen($dkimdata['pubkey']) < 1416) { $dkimdata['length'] = "4096"; } diff --git a/data/web/templates/admin/tab-config-dkim.twig b/data/web/templates/admin/tab-config-dkim.twig index 85c6dc6ae..ec77139ed 100644 --- a/data/web/templates/admin/tab-config-dkim.twig +++ b/data/web/templates/admin/tab-config-dkim.twig @@ -117,6 +117,8 @@ diff --git a/data/web/templates/edit/domain-templates.twig b/data/web/templates/edit/domain-templates.twig index 825e6674d..d4612a198 100644 --- a/data/web/templates/edit/domain-templates.twig +++ b/data/web/templates/edit/domain-templates.twig @@ -103,6 +103,8 @@ diff --git a/data/web/templates/modals/mailbox.twig b/data/web/templates/modals/mailbox.twig index 0f1b23a7e..76f54ec31 100644 --- a/data/web/templates/modals/mailbox.twig +++ b/data/web/templates/modals/mailbox.twig @@ -490,6 +490,8 @@ @@ -628,6 +630,8 @@ @@ -843,6 +847,8 @@