From 5153eb54abab92497093fffa60c487c3523016d4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Isma=C3=ABl=20Bouya?= Date: Tue, 7 Apr 2020 23:03:18 +0200 Subject: [PATCH] Fix printer not supporting elliptic curve keys --- modules/private/mail/default.nix | 12 ++++++++++++ modules/private/mail/dovecot.nix | 15 +++++++++++++++ modules/private/mail/postfix.nix | 6 ++++-- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/modules/private/mail/default.nix b/modules/private/mail/default.nix index b50e346..d893ec4 100644 --- a/modules/private/mail/default.nix +++ b/modules/private/mail/default.nix @@ -22,6 +22,18 @@ mxs = map (zone: "${config.hostEnv.mx.subdomain}.${zone.name}") zonesWithMx; in builtins.listToAttrs (map (mx: lib.attrsets.nameValuePair mx null) mxs); }; + # This is for clients that don’t support elliptic curves (e.g. + # printer) + security.acme.certs."mail-rsa" = config.myServices.certificates.certConfig // { + domain = config.hostEnv.fqdn; + keyType = "rsa4096"; + extraDomains = let + zonesWithMx = builtins.filter (zone: + lib.attrsets.hasAttr "withEmail" zone && lib.lists.length zone.withEmail > 0 + ) config.myEnv.dns.masterZones; + mxs = map (zone: "${config.hostEnv.mx.subdomain}.${zone.name}") zonesWithMx; + in builtins.listToAttrs (map (mx: lib.attrsets.nameValuePair mx null) mxs); + }; services.duplyBackup.profiles = { mail = { rootDir = "/var/lib"; diff --git a/modules/private/mail/dovecot.nix b/modules/private/mail/dovecot.nix index 77f9bd7..0304b89 100644 --- a/modules/private/mail/dovecot.nix +++ b/modules/private/mail/dovecot.nix @@ -80,6 +80,12 @@ in sslServerKey = "/var/lib/acme/mail/key.pem"; sslCACert = "/var/lib/acme/mail/fullchain.pem"; extraConfig = builtins.concatStringsSep "\n" [ + # For printer which doesn’t support elliptic curve + '' + ssl_alt_cert =