Ошибка dkim: открытый ключ, похоже, недействителен

Ошибка dkim: открытый ключ, похоже, недействителен

Я создал пару ключей 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

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

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

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

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

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

Связанный контент