31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
import dkim.dknewkey as _dknewkey
|
|
from os.path import dirname as _dirname, abspath as _abspath, join as _join, isfile as _isfile, isdir as _isdir
|
|
from os import makedirs as _makedirs
|
|
from shutil import rmtree as _rmtree
|
|
import __main__
|
|
|
|
def _eprint(*args, **kwargs):
|
|
pass
|
|
|
|
_dknewkey.eprint = _eprint
|
|
|
|
|
|
_HERE = _dirname(_dirname(_abspath(__main__.__file__)))
|
|
_DKIM_DIR = _join(_HERE, 'pki/dkim')
|
|
|
|
|
|
def get_dkim_key(domain_name_eth0, domain):
|
|
dkim_dir = _join(_DKIM_DIR, domain_name_eth0, domain)
|
|
# dkim_file_src = _join(dkim_dir, f'{domain}')
|
|
dkim_file_key = _join(dkim_dir, f'{domain}.key')
|
|
dkim_file = _join(dkim_dir, f'{domain}.dns')
|
|
if not _isfile(dkim_file):
|
|
if _isdir(dkim_dir):
|
|
_rmtree(dkim_dir)
|
|
_makedirs(dkim_dir)
|
|
priv_key = _dknewkey.GenRSAKeys(dkim_file_key)
|
|
_dknewkey.ExtractRSADnsPublicKey(dkim_file_key, dkim_file)
|
|
# priv_key = _dknewkey.GenEd25519Keys(dkim_file_key)
|
|
# _dknewkey.ExtractEd25519PublicKey(dkim_file_src, priv_key)
|
|
with open(dkim_file_key, 'r') as fh:
|
|
return fh.read().strip()
|