如何解决我在使用 DKIM 语法创建 TXT 记录时收到的 “{Value} 遇到了 CharacterStringTooLong(值太长)” 错误?

1 分钟阅读
0

我尝试创建第三方在我的 Amazon Route 53 托管区提供的 DKIM 文本资源记录。然而,我遇到了以下错误: “{Value} 遇到了 CharacterStringTooLong(值太长)。”

简短描述

在单个字符串中的 DNS TXT 记录最多可以包含 255 个字符。如果 TXT 记录字符串中超过 255 个字符,必须将其拆分为同一记录中的多个文本字符串。

**注意:**如果拆分该值,DKIM 功能不会中断。

解决方法

1.打开您从第三方提供商处收到的资源记录。

2.要符合单个 Route 53 TXT 记录最多包括 255 个字符的要求,请将 DKIM 密钥值分成两部分。为此,请按照以下步骤操作:

从资源记录中复制 DKIM 密钥值。
将 DKIM 键值粘贴到文本编辑器的新行中。
将 DKIM 键值拆分成两部分,然后将每个部分用双引号括起来。例如,"long_string" 的值被拆分为 "long_""string"

**注意:**两部分之间不要添加换行符。

3.    打开 Route 53 控制台

4.    在导航窗格中,选择托管区域

5.    选择您的托管区域。

6.    选择创建记录集

7.在创建记录集面板中,完成以下步骤:

  • 名称中,输入域密钥标识符。
  • 对于类型,选择 TXT
  • 对于 别名,保留默认选择
  • 对于 TTL,输入秒数。通常默认值 300 就足够了。
  • 对于,从文本编辑器中复制您在步骤 2 中创建的分割 DKIM 键值。将拆分的值粘贴到字段中。
  • 选择创建

8.使用 dignslookup 确认 TXT 记录是作为单个条目显示的。

dig:

$ dig selector_key_1._domainkey.domain.com txt
...
;; ANSWER SECTION:
selector_key_1._domainkey.domain.com. 60 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz1xhXc+vJKhQJUch86o8Ia2+L/AYo4d5eRVrPMMWzz4EiM4eB4QC1hJ83YMCHLv5dDN2lJ3KWSd5tGOxF/FRj1KdN+Jdf+BVwuklBFO8IrDtMz/lk2CJjF8jlgIUmQAjs3lc/8Bee+" "IQeB2tLX9UWvQMpI3aZuh6Ym6hcvLnbEkALWaMQvqwgxZs1qF6t5VKMjWeNNWIScyNTYL4Ud8wDiBcWh492HustfGUxrl5zmRfEl8BzCbrOqpKPLBmk/xrHRw9PHIJyYOaZA2PFqVcp6mzxjyUmn0DH9HXdhIznflBoIOLL1dm77PyDOKdEWRkSLMCA72mZbFr9gxda72ocQIDAQAB"

nslookup:

    > nslookup -q=TXT selector_key_1._domainkey.domain.com
...
Non-authoritative answer:
selector_key_1._domainkey.domain.com.    text =
        "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz1xhXc+vJKhQJUch86o8Ia2+L/AYo4d5eRVrPMMWzz4EiM4eB4QC1hJ83YMCHLv5dDN2lJ3KWSd5tGOxF/FRj1KdN+Jdf+BVwuklBFO8IrDtMz/lk2CJjF8jlgIUmQAjs3lc/8Bee+"
        "IQeB2tLX9UWvQMpI3aZuh6Ym6hcvLnbEkALWaMQvqwgxZs1qF6t5VKMjWeNNWIScyNTYL4Ud8wDiBcWh492HustfGUxrl5zmRfEl8BzCbrOqpKPLBmk/xrHRw9PHIJyYOaZA2PFqVcp6mzxjyUmn0DH9HXdhIznflBoIOLL1dm77PyDOKdEWRkSLMCA72mZbFr9gxda72ocQIDAQAB"

相关信息

TXT 记录类型

AWS 官方
AWS 官方已更新 1 年前