Skip to content

Releases: Kernel-Error/smimea-tools

v0.1.0

31 Mar 16:08

Choose a tag to compare

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.py module with hash_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_COLOR support
  • argparse CLI with --ttl and --full flags
  • 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.toml with project metadata and dependencies

Full Changelog: https://github.com/Kernel-Error/smimea-tools/commits/v0.1.0