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 openssl
comando debería hacer el trabajo; sus comandos genrsa
y genpkey
pueden crear un nuevo par de claves y luego rsa
extraer pkey
la mitad pública).