Я пытаюсь диагностировать ошибки проверки OpenDKIM (см. этот вопрос). Глубоко в чреве зверя я нахожусь в точке, где пытаюсь убедиться, что сгенерированные ключи действительно верны.
Я генерирую свои ключи с помощью opendkim-genkey -r -d example.com
. Это создает два файла. Один из них — закрытый ключ RSA (файл default.private
):
-----НАЧАТЬ ЗАКРЫТЫЙ КЛЮЧ RSA-----
MIICXAIBAAKBgQDJy9S18vHtrIQNep9PogJfrKNLKKf2VSOvUwOzItlWkY3cRCFx
scSNjfC4QHRECMeUuNO78wvQ+oOk+exLdyl2BggcA659Wi6v8X/+awLXpa9sB6vi
GPi8Zx560GbZu6jGLlEzcOaGDCYqdUxZIdAaOICDORFa3XAywHi87eQPMwIDAQAB
AoGAVSjAvnwlHqEEJVAPNSLwj4Gic9BXeXwakB2fXRSi1YadcEwMNRfJE9fHs2n3
5v4VK60IJbP+05U0wwV5c6t5AgZqpP0GBW8CKUr3BwaF2cJbd+uOXlAm4cx6/S1E
Ocoku0c/vrr3mkO41IuBkB+FRm0y7WXFi7e7M32Tictt0CkCQQDzE08wRLNXxkaM
ЛЮДМвCtlNzACcmkU73NAHDHhwtrJMMLp7q/s4VIDbmhysoNBblNHJQvA/7zVd13
1CGxbh8/AkEA1IajRLNJ6XTuv9RmK1622BDWix4ogEvbev/zR8ti2JifO6A5gv+L
na5hVAATo563pWjtNZW3sAVKqN7juN5HDQJAP1xKKP/Pa9LQMtxbHoFZwTVrcVdb
y0zUzaoOu8PU0yHrAY/AGxY1aLnDKIxOrKRQT+xiJ/s3qsA4EXMnMTPOSwJBAK5N
dl6EBRyZsK5YDyuG1MNEnBEhPOpsTKgGf4rkfj9SfVYzxLdxyxoZyO1R2smZBNl+
wv3tuud8j40MsQwQEYkCQBCzH+1IaxoMsSggutvEvqz2SqkFbD5rq/+uL6P6xyYg
PHCYIWomK8zOlmnO+bfbRIzQb7I81vOFq2sr0yQLK+0=
-----КОНЕЦ ЗАКРЫТОГО КЛЮЧА RSA-----
и один генерирует DNS-запись DKIM, которая, как я полагаю, содержит открытый ключ:
default._domainkey В TXT ("v=DKIM1; k=rsa; s=email; "
"p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJy9S18vHtrIQNep9PogJfrKNLKKf2VSOvUwOzItlWkY3cRCFxscSNjfC4QHREcMeUuNO78wvQ+oOk+exLdyl2BggcA659Wi6v8X/+awLXpa9sB6viGPi8Zx560GbZu6jGLlEzcOaGDCYqdUxZIdAaOICDORFa3XAywHi87eQPMwIDAQAB" ) ; ----- Ключ DKIM по умолчанию для example.com
Я предполагаю, что запись «p =» является открытым ключом, но если это так, я не могу понять, как проверить, совпадают ли они. Я думал, что смогу сделать это с ssh-keygen -y -f default.private
, однако вывод этого явно отличается от того, что находится в разделе "p=" записи DNS (это даже не та же длина):
# ssh-keygen -y -f default.private
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDJy9S18vHtrIQNep9PogJfrKNLKKf2VSOvUwOzItlWkY3cRCFxscSNjfC4QHREcMeUuNO78wvQ+oOk+exLdyl2BggcA659Wi6v8X/+awLXpa9sB6viGPi8Zx560GbZu6jGLlEzcOaGDCYqdUxZIdAaOICDORFa3XAywHi87eQPMw==
Итак, что здесь происходит? Разве ssh-keygen не подходит для этого (может быть, мне стоит что-то сделать с OpenSSL?)? Разве "p=" не является открытым ключом? Или на самом деле мои закрытый и открытый ключи не совпадают?
Спасибо!
PS, возможно, это не связано с тем, что я предполагаю, что открытый ключ, сгенерированный opendkim, всегда одинаков для первых 34 символов — MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQ
и всегда заканчивается на ИДАКАБ
.