Why is this such a mystery?
It took a lot of digging, but I will outline the steps I took for a linux/apache system to setup SPF and DomainKeys. DKIM is still in the mystery mode, not sure I have that right. I will update this if anything changes.
Create Public and Private keys on the server:
$ openssl genrsa -out rsa.private 768
then Create the Public key
$ openssl rsa -in rsa.private -out rsa.public -pubout -outform PEM
. Setup a SPF record. This is probably the easiest part. On the account you control your DNS Zone, add the following:
yourdomain.com. IN TXT “v=spf1 a:mail.giviton.com a:server1.giviton.com a:giviton.com -all; p=[INSERT PUBLIC KEY HERE]”
DomainKey DNS Entries:
_domainkey IN TXT “t=n; o=-” ….where t is ‘test’, set to ‘y’ if you want in test mode
default._domainkey IN TXT “k=rsa; t=n;p=[INSERT PUBLIC KEY HERE]” …where default is defined in the exim config file for DK_SELECTOR
edit exim/configure file
look for dk_selector – make sure to update DNS entry accordingly, or add dk_selector to config file
look for dk_private_key and look for location where private key file is suppose to reside. Copy those files to that location, or create the dk_private_key entry
if applicable, save and restart exim
Testing:
Send email to dk@dk.crynwr.com – will return with validation that SPF and domainkeys are ok
Send email to check-auth@verifier.port25.com – will return validation for domainkey setup
Other references
http://wiki.exim.org/DomainKeys
http://domainkeys.sourceforge.net/
SpinnakerPro video – http://www.youtube.com/watch?v=fPrfZWbXGi0