DEV Community

William Rodriguez
William Rodriguez

Posted on

Más que texto: Cifrando certificados TLS y claves privadas con set_file().

Más que texto: Cifrando certificados TLS y claves privadas con set_file().

Dejar claves SSH y certificados TLS sin cifrar en disco facilita el movimiento lateral ante intrusiones. set_file() de wauth cifra certificados binarios directamente en tu baúl machine-locked.

Esta es la implementación exacta para producción de set_file() & Encrypted Binary Storage:

from wauth import WAuth

auth = WAuth()

# 1. Encrypt and store an SSH private key or TLS certificate
auth.set_file("PROD_TLS_CERT", "/etc/ssl/certs/production_cert.pem")

# 2. Retrieve the decrypted certificate bytes when initializing SSL
cert_bytes = auth.get("PROD_TLS_CERT")
print(f"Loaded certificate ({len(cert_bytes)} bytes) safely into memory.")
Enter fullscreen mode Exit fullscreen mode

Ventajas de ingeniería:

  • Cifrado Nativo de Archivos: auth.set_file('CERT', path) lee, cifra y almacena archivos de forma atómica.
  • Restauración Exacta de Bytes: La lectura entrega bytes puros, listos para escribir a disco o inyectar en SSL.
  • Escudo Ligado al Hardware: Las claves privadas quedan bloqueadas al equipo; inservibles si se copian.

Problemas eliminados:

  • Dejar claves privadas SSH y certificados TLS sin cifrar en rutas vulnerables del disco
  • Exponer accidentalmente archivos .pem o .key debido a permisos permisivos del sistema de archivos
  • Programar scripts complejos de conversión a base64 para guardar binarios en bases de datos

Explora el código fuente abierto y auditado en GitHub o instálalo con:

pip install wauth
Enter fullscreen mode Exit fullscreen mode

Top comments (0)