Да. Сам ключ должен быть упакован в определенном формате, а вы используете неправильный.
Пара ключей RSA - это не просто случайный текст - внутренне она состоит из нескольких больших чисел, и разные программы имеют разные способы кодирования этих чисел в байты (их сериализации). Например, n может идти перед e или после него; они могут храниться с прямым порядком байтов или с прямым порядком байтов; и т. д. Некоторые форматы имеют поле, указывающее сам тип ключа, а некоторые нет.
Текст, который вы пытаетесь использовать, p=
находится в формате SSHv2. Однако DKIM требует, чтобы он был в формате PKCS # 1 "RSAPublicKey" (он же формат OpenSSL PEM), хотя позже спецификация DKIM противоречит самому себе, демонстрируя пример в формате X.509 "SubjectPublicKeyInfo", и многие реализации действительно принимают и то, и другое.
PuTTYgen не может выводить ни один из этих форматов открытого ключа - вам нужно будет использовать другой инструмент. Лучше всего использовать инструменты генерации ключей, предоставляемые вашим программным обеспечением для подписи DKIM.
(Если ваше программное обеспечение DKIM не поставляется ни с одним, то openssl
команда должна выполнить эту работу - ее команды genrsa
и genpkey
команды могут создать новую пару ключей rsa
или затем pkey
извлечь открытую половину.)