Fallo de dkim: la clave pública no parece ser válida

Fallo de dkim: la clave pública no parece ser válida

Creé un par de claves rsa pública/privada con Puttygen. Agregué el siguiente registro a dns pero dkim falla. Parece que hay algunos problemas con mi clave pública. Lo comprobé conhttps://dkimcore.org/c/keychecky descubrió que no es válido.

v=DKIM1; k=rsa; h=sha256; p=AAAAB3NzaC1yc2EAAAABJQAAAQEArv5BxLaIE0HYkr1RSIqhAUUZ3OPiV81e8d0Q7Iv2jIQ9LCxnw831HteCwMFzry352dW2UfbmjVMesNOiyZWrE2oHYCG/hQ6ocl5KIY/cNrymZYkzFgnG/HeQBU+YZWkRyT7tNzG6IhgFBs7BZdO1iyEJNaAjsdXZJuv7H2Z4r5aDk8n1A0bzfYGhiIX4uSyUbV6T5njsfBX7Un0IBvf/nbEj6NJ+idF0puoz0gWffRWu1zoJfFs8ddjHSGsp4bKQjsm6msAvc7LZ6csmNec1G9UdUAzd+rxETaRIew7p3E6PiPbTfGuLr283V+SZMMume6bgyK3Bg7/bKv80vD71mw==

¿Hay algún problema con mi sintaxis?

Respuesta1

Sí. La clave en sí debe estar empaquetada en un formato específico y estás usando el incorrecto.

Un par de claves RSA no es sólo un fragmento de texto aleatorio; internamente consta de unos pocos números grandes y diferentes programas tienen diferentes formas de codificar esos números en bytes (serializarlos). Por ejemplo,nortepodría ir antesmio después de él; podrían almacenarse en big endian o little endian; etc. Algunos formatos tienen un campo que indica el tipo de clave en sí, otros no.

El texto que estás intentando utilizar p=está en formato SSHv2. Sin embargo, DKIM requiere que esté en formato PKCS#1 "RSAPublicKey" (también conocido como formato OpenSSL PEM), aunque la especificación DKIM luego se contradice al mostrar un ejemplo en formato X.509 "SubjectPublicKeyInfo", y muchas implementaciones de hecho aceptan ambos.

PuTTYgen puede generarnide esos formatos de clave pública, necesitará utilizar una herramienta diferente. Lo mejor sería utilizar las herramientas de generación de claves que proporciona su software de firma DKIM.

(Si su software DKIM no viene con ninguno, entonces el opensslcomando debería hacer el trabajo; sus comandos genrsay genpkeypueden crear un nuevo par de claves y luego rsaextraer pkeyla mitad pública).

información relacionada