Okay, quindi DKIM utilizza solo crittografia publickey "raw" e non certificati, ma alcune "applicazioni" utilizzano il formato PKCS12 che richiede un certificato. È piuttosto sciocco.
Se hai OpenSSL, e su Linux dovresti, ha diversi modi per creare un certificato autofirmato da una chiave privata. Un certificato autofirmato non soddisfa i principi per cui sono stati progettati i certificati principali, di distribuire il trust da una fonte (relativamente) centralizzata, ma confeziona una chiave pubblica con altri dati sotto forma di certificato, che è spesso conveniente , incluso qui.
Il modo più semplice è req -new -x509
qualcosa come:
openssl req -new -x509 -key privatekey.pem -days N -out dummy.crt
# N is the number of days (from now) until the cert expires
# reliers may or may not care about expiration of selfsigned,
# but to avoid possible issues it is common to use a longish period
# like 5, 10 or 20 years (roughly 1825, 3650 or 7300 days)
Per evitare di essere richiamati per i campi del nome soggetto, che qui probabilmente non hanno alcun significato, puoi specificare un nome fittizio come -subj /CN=mydkim
.
È possibile un'applicazione abbastanza sciocca da utilizzare PKCS12 per questo potrebbe desiderare alcune estensioni particolari nel certificato; questo apre un campo molto più ampio perché ci sono una dozzina di estensioni X.509 comunemente usate e centinaia o migliaia di altre oscure. Se il documento 'applicazione' dice qualcosa sulle estensioni cert, o ricevi un errore relativo, inserisci i dettagli.
Una volta che hai il cert, usa
openssl pkcs12 -export -in certfile -inkey privatekeyfile -out pkcs12file