1

Я создал пару открытых / закрытых ключей RSA с Puttygen. Я добавил следующую запись в DNS, но dkim не удается. Кажется, есть некоторые проблемы с моим открытым ключом. Я проверил его с помощью https://dkimcore.org/c/keycheck и обнаружил, что он недействителен.

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

Что-то не так с моим синтаксисом?

1 ответ1

2

Да. Сам ключ должен быть упакован в определенном формате, а вы используете неправильный.

Пара ключей RSA - это не просто случайный текст - внутренне она состоит из нескольких больших чисел, и разные программы имеют разные способы кодирования этих чисел в байты (их сериализации). Например, n может идти перед e или после него; они могут храниться с прямым порядком байтов или с прямым порядком байтов; и т. д. Некоторые форматы имеют поле, указывающее сам тип ключа, а некоторые нет.

Текст, который вы пытаетесь использовать с p= имеет формат SSHv2. Однако DKIM требует, чтобы он был в формате PKCS # 1 "RSAPublicKey" (он же формат OpenSSL PEM), хотя позже спецификация DKIM противоречит самому себе, показывая пример в формате X.509 "SubjectPublicKeyInfo", и многие реализации действительно принимают и то и другое.

PuTTYgen не может выводить ни один из этих форматов открытого ключа - вам нужно будет использовать другой инструмент. Лучше всего использовать инструменты генерации ключей, предоставляемые вашим программным обеспечением для подписи DKIM.

(Если ваше программное обеспечение DKIM не поставляется ни с одним, то команда openssl должна выполнить эту работу - ее команды genrsa и genpkey могут создать новую пару ключей, а затем rsa или pkey для извлечения публичной половины.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .