What's Changed
Initial release of smimea-tools — a Python toolkit for generating and querying SMIMEA (RFC 8162) DNS records for S/MIME certificates.
Core Tools
- smimea_generate_record.py — Generates BIND9-formatted SMIMEA DNS records from an email address and PEM certificate. Hashes the local part with SHA-256 (truncated to 28 bytes), validates email against certificate SANs
- smimea_lookup.py — Queries DNS for SMIMEA records with DNSSEC support, extracts and saves the certificate as DER, displays certificate details via OpenSSL
Features
- Shared
smimea_common.pymodule withhash_local_part()utility - RFC 8162 compliant: local-part is lowercased before hashing
- DNSSEC AD flag checking with clear trust information for the user
- Selector and matching-type validation, rejects unsupported record types
- Colored terminal output (green/yellow/red) with
NO_COLORsupport - argparse CLI with
--ttland--fullflags - Output filenames derived from email address
- Proper error handling, exit codes and stderr reporting
Testing & Packaging
- 29 tests covering both scripts and the shared module
pyproject.tomlwith project metadata and dependencies
Full Changelog: https://github.com/Kernel-Error/smimea-tools/commits/v0.1.0