เส้นทางที่ 53 ไม่อนุญาตให้เพิ่มคีย์ DKIM เนื่องจากความยาวยาวเกินไป


41

นี่คือวิธีที่ฉันป้อนค่าสำหรับคีย์ DKIM:

"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwztXzIUqic95qSESmnqX U5v4W4ENbciFWyBkymsmmSNOhLlEtzp/mnyhf50ApwCTGLK9U7goo/ijX/wr5roy XhReVrvcqtIo3+63a1Et58C1J2o4xCvp0K2/lM6hla4B9jSph7QzjYdtWlOJqLRs o0nzcut7DSq/xYcVqvrFDNbutCfG//0wcRVUtGEyLX/a/7mAAkW6H8UEYMPglQ9c eEDfTT6pzIlqaK9cHGOsSCg4r0N8YxnHFMRzKaZwmudaXTorSbCs7e681g125/vJ e82VV7DE0uvKW/jquZYtgMn7+0rm+2FDYcDx/7lzoByl91rx37MAJaUx/2JHi1EA nwIDAQAB"

ไม่มีบรรทัดใหม่ในค่านี้ (ฉันคัดลอกวางโดยเฉพาะและทดสอบในโปรแกรมแก้ไขข้อความ) แต่ด้วยเหตุผลบางอย่างฉันได้รับ TXT เป็นข้อผิดพลาดยาวเกินไป:

TXTRDATATooLong พบใน "v = DKIM1; k = RSA; p = MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwztXzIUqic95qSESmnqX U5v4W4ENbciFWyBkymsmmSNOhLlEtzp / mnyhf50ApwCTGLK9U7goo / ijX / wr5roy XhReVrvcqtIo3 + 63a1Et58C1J2o4xCvp0K2 / lM6hla4B9jSph7QzjYdtWlOJqLRs o0nzcut7DSq / xYcVqvrFDNbutCfG // 0wcRVUtGEyLX / a / 7mAAkW6H8UEYMPglQ9c eEDfTT6pzIlqaK9cHGOsSCg4r0N8YxnHFMRzKaZwmudaXTorSbCs7e681g125 / VJ e82VV7DE0uvKW / jquZYtgMn7 + + 0rm 2FDYcDx / 7lzoByl91rx37MAJaUx / 2JHi1EA nwIDAQAB "

ฉันไม่รู้จริงๆว่าควรทำอย่างไรเพื่อแก้ไขปัญหานี้


ลองลบที่ว่างออกหลังจากแต่ละอัน;
Drifter104

ฉันยังพบปัญหานี้กับ AWS เส้นทาง 53 DKIM ... คุณแก้ไขปัญหานี้ได้หรือไม่ ฉันพบว่า Amazon AWS มีการบำรุงรักษาไม่ดี ... เพียงลองใช้ฟอรัม Q / A ของพวกเขา ... มันเป็นเรื่องตลกที่ล้าสมัยอายุ 15 ปี UI ของเว็บเก่า
Scott Stensland

@ScottStensland ในฐานะที่เป็นคำตอบที่ได้รับการยอมรับนี่ไม่ใช่ความผิดของ AWS และมีวิธีแก้ปัญหาที่ตรงไปตรงมา
ceejayoz

คำตอบ:


55

ดูปัญหาที่คล้ายกันในฟอรัม Route 53 :

น่าเสียดายที่ขีด จำกัด 255 อักขระต่อสตริงในระเบียน TXT ไม่ใช่ขีด จำกัด Route53 แต่ค่อนข้าง จำกัด โดยโปรโตคอล DNS เอง อย่างไรก็ตามแต่ละระเบียน TXT สามารถมีได้หลายสายอักขระแต่ละตัวมีความยาว 255 ตัว คุณจะต้องแยก DKIM ของคุณออกเป็นหลายสายเพื่อบันทึก TXT ของคุณ คุณสามารถทำได้ผ่านทางคอนโซลโดยป้อนแต่ละสตริงที่ใส่ในเครื่องหมายคำพูดหนึ่งบรรทัดต่อหนึ่งบรรทัด

หมายเหตุสำคัญ : อย่าใช้ "หนึ่งสตริงต่อบรรทัด" ตามคำแนะนำที่บอก - แยกสตริงด้วยช่องว่างเดียวเช่น ไม่"foo" "bar" "foo"\n"bar"ใช้DKIMValidatorเพื่อตรวจสอบความถูกต้องของลายเซ็น


12
ตรวจสอบให้แน่ใจว่ามี 1 ช่องว่างระหว่างแต่ละใบเสนอราคาปลาย / เริ่ม - ไม่ใช่ newline / cr ตามที่ AWS แสดงเมื่อคุณเพิ่มระเบียน TXT - รายการเหล่านี้ไม่ใช่ระเบียนแยกต่างหากตัวอย่าง: "p=sdfgkjhsdfg...." "sdklfjsdf....." <เว้นวรรคระหว่าง
bshea

5
ช่องว่างของ Newline v / s เป็นปัญหาสำหรับฉัน ขอบคุณ @bshea
Nehal J Wani

40

คุณสามารถสับมันเป็นข้อความที่ยกมาด้วยความยาวสูงสุด 255 ต่อชิ้น คุณไม่ต้องทำให้แต่ละอันถูกต้อง

ตัวอย่างเช่นหากค่าของคุณดูเหมือน:

"v=DKIM1; k=rsa; p=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyza bcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabc"

คุณสามารถสับมันได้ตามที่ต้องการ:

"v=DKIM1; k=rsa; p=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz" "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzab" "cdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabc"

สังเกตว่าเป็นช่องว่างเดียวไม่ใช่การขึ้นบรรทัดใหม่ระหว่างแต่ละอัน!

คำแนะนำในการตั้งค่าของ Google แปลกใจมาก ฉันเพิ่งเขียนคู่มือที่สมบูรณ์เกี่ยวกับวิธีการทำเช่นนี้ใน Route53


2
"สังเกตว่ามันเป็นช่องว่างเดียวไม่ใช่การขึ้นบรรทัดใหม่ระหว่างแต่ละอัน!" นี่เป็นสิ่งสำคัญสำหรับฉันเพราะมันไม่ทำงาน ทำงานได้ทันทีหลังจากเปลี่ยนขอบคุณ!
Alex Yurkowski

1
นี่ควรเป็นคำตอบที่ยอมรับได้
Nikolay Tsenkov

ช่องว่างทำงานได้ดีสำหรับ DKIM แต่เมื่อเพิ่มค่า SPF ของฉันไปยังระเบียน TXT ที่มีอยู่ฉันต้องแยกสตริงที่ยกมาด้วยตัวแบ่งบรรทัดไม่ใช่ช่องว่างก่อนที่มันจะทำงานใน AWS Route 53
adam0101

5

DKIM บน AWS Route53

คุณต้องแบ่งระเบียน DMARC เป็น 255 ส่วนอักขระ หากคุณโฮสต์ DNS ของคุณโดยใช้ AWS Route53 ให้ใส่แต่ละส่วนที่มี"..."เครื่องหมายในบันทึก

อย่าใช้การขึ้นบรรทัดใหม่เพื่อแยกชิ้นส่วนเนื่องจากจะเป็นรายการ TXT แยกกัน

v=DKIM1; k=rsa; p=ABC123longkeypart1ABC123longkeypart2

กลายเป็น

"v=DKIM1; k=rsa; p=ABC123longkeypart1" "ABC123longkeypart2"

ใช้ Terraform และ Route53

เมื่อใช้ Terraform เพื่อจัดทำบันทึก Route53 ของคุณคุณต้องแบ่ง DKIM-key ออกเป็น 255 ส่วนของอักขระสูงสุด

เนื่องจาก Terraform ดูแลการอ้างอิงรายการ TXT คุณจะต้องเสนอราคาระหว่างแต่ละส่วน\"\"เท่านั้น

v=DKIM1; k=rsa; p=ABC123longkeypart1ABC123longkeypart2

กลายเป็น

resource "aws_route53_record" "some_domain_dkim" {
  zone_id = "${aws_route53_zone.some_domain.zone_id}"
  name    = "google._domainkey.some_domain.com."
  type    = "TXT"
  ttl     = "3600"

  records = [
    "v=DKIM1; k=rsa; p=ABC123longkeypart1\"\"ABC123longkeypart2"
  ]
}

ดูเพิ่มเติมที่: https://www.terraform.io/docs/providers/aws/r/route53_record.html#records


3

คุณสามารถเลือก 1024 แทน 2048 และเพิ่มลงในเส้นทาง 53 ในเวลาที่สร้าง TXT ใน Google Apps


4
ไม่มีเหตุผลที่จะทำเช่นนี้ - ถ้าคุณต้องการ 2048 ทำตามคำตอบที่เลือก เชื่อมต่อบันทึก dkim ด้วยเครื่องหมายคำพูด + เว้นวรรคระหว่าง มันจะทำงาน.
bshea
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.