dkim signer integration to the OpenSMTPD daemon
Project homepage: https://src.imperialat.at/?action=summary&path=filter-dkimsign.git
Description
filter-dkim is an opensmtpd filter that signs email with a dkim signature.
Package information
- Ports path
- mail/opensmtpd-filters/dkimsign
- Package architecture
- amd64
- Maintainer
- Martijn van Duren <martijn@openbsd.org>
- Categories
- Available flavors
- None listed
Ports list build and test dependencies as well as runtime dependencies. pkg_add selects those needed for installation.
Direct dependencies
Library
OpenBSD README
This README contains unresolved ports variables; replace them before using its commands.
+-----------------------------------------------------------------------
| Running opensmtpd-filter-dkimsign on OpenBSD
+-----------------------------------------------------------------------
To use filter-dkimsign, you must first generate a private key:
doas -u _dkimsign openssl genrsa -out ${SYSCONFDIR}/mail/dkim/private.rsa.key 2048
To generate the public key ready for dns:
openssl rsa -in ${SYSCONFDIR}/mail/dkim/private.rsa.key -pubout | \
sed '1s/.*/v=DKIM1;p=/;:nl;${s/-----.*//;q;};N;s/\n//g;b nl;'
This value needs to be placed in a DNS txt record with the following syntax:
<selector>._domainkey.<domain>
Edit the /etc/mail/smtpd.conf file to declare the filter:
filter dkimsign_rsa proc-exec "filter-dkimsign -d <domain> -s <selector> -k ${SYSCONFDIR}/mail/dkim/private.rsa.key" user _dkimsign group _dkimsign
Then add the filter to each listener that should be signed:
listen on all filter dkimsign_rsa
To use Ed25519 similar steps must be taken.
To generate the private key:
doas -u _dkimsign openssl genpkey -algorithm ed25519 -outform PEM -out ${SYSCONFDIR}/mail/dkim/private.ed25519.key
To generate the public key ready for dns:
printf "v=DKIM1;k=ed25519;p=%s\n" "$(doas -u _dkimsign openssl pkey -outform DER -pubout -in ${SYSCONFDIR}/mail/dkim/private.ed25519.key | tail -c +13 | openssl base64)"
Edit the /etc/mail/smtpd.conf file to declare the filter:
filter dkimsign_ed25519 proc-exec "filter-dkimsign -a ed25519-sha256 -d <domain> -s <selector> -k ${SYSCONFDIR}/mail/dkim/private.ed25519.key" user _dkimsign group _dkimsign
To add both filters to each listener that should be signed:
filter dkimsign chain { dkimsign_rsa, dkimsign_ed25519 }
listen on all filter dkimsign
For a full list of options see filter-dkimsign(8).