Tuyến 53 không cho phép thêm khóa DKIM vì độ dài quá dài


41

Đây là cách tôi nhập giá trị cho khóa 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"

Không có dòng mới trong giá trị này (tôi đặc biệt sao chép và dán nó trong trình soạn thảo văn bản). Nhưng vì một số lý do, tôi tiếp tục nhận được TXT là lỗi quá dài:

TXTRDATATooLong gặp phải tại "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 "

Tôi thực sự không biết tôi nên làm gì để khắc phục vấn đề này.


Hãy thử loại bỏ không gian sau mỗi;
Drind104

Tôi cũng đã gặp phải vấn đề này với tuyến AWS 53 DKIM ... bạn đã giải quyết vấn đề này chưa? Tôi thấy rằng Amazon AWS được bảo trì kém ... chỉ cần thử sử dụng Diễn đàn Hỏi / Đáp của họ ... thật là một trò đùa của giao diện người dùng web 15 tuổi lỗi thời
Scott Stensland

@ScottStensland Như ghi chú câu trả lời được chấp nhận, đây không phải là lỗi của AWS và có một giải pháp đơn giản.
ceejayoz

Câu trả lời:


56

Xem một vấn đề tương tự trong diễn đàn Tuyến 53 :

Thật không may, giới hạn 255 ký tự cho mỗi chuỗi trên các bản ghi TXT không phải là giới hạn Route53 mà là giới hạn do chính giao thức DNS áp đặt. Tuy nhiên, mỗi bản ghi TXT có thể có nhiều chuỗi, mỗi chuỗi dài 255 ký tự. Bạn sẽ cần chia DKIM của bạn thành nhiều chuỗi cho bản ghi TXT của bạn. Bạn có thể làm điều này thông qua bảng điều khiển bằng cách nhập từng chuỗi được gói gọn trong dấu ngoặc kép, một chuỗi trên mỗi dòng.

Lưu ý quan trọng : Không sử dụng "một chuỗi trên mỗi dòng" như hướng dẫn nói - tách các chuỗi với một khoảng trắng, ví dụ: "foo" "bar"không "foo"\n"bar". Sử dụng DKIMValidator để xác nhận chữ ký đang được đọc chính xác.


12
Ngoài ra, hãy đảm bảo 1 khoảng trắng nằm giữa mỗi trích dẫn kết thúc / bắt đầu - không phải là dòng mới / cr như AWS hiển thị khi bạn thêm các bản ghi TXT - đây không phải là các bản ghi riêng biệt .. Ví dụ: "p=sdfgkjhsdfg...." "sdklfjsdf....." <khoảng trắng giữa.
bshea

5
Không gian v / s mới là vấn đề đối với tôi. Cảm ơn @bshea
Nehal J Wani

40

Bạn có thể cắt nó thành nhiều đoạn văn bản được trích dẫn với độ dài tối đa 255 trên mỗi đoạn. Bạn không cần phải làm cho mỗi đoạn chính xác.

Ví dụ: nếu giá trị của bạn trông giống như:

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

Bạn có thể cắt nó ở những nơi tùy ý:

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

Lưu ý đó là những khoảng trống đơn lẻ, không phải dòng mới, giữa mỗi đoạn!

Hướng dẫn thiết lập của Google, không ngạc nhiên, là khủng khiếp. Tôi vừa viết lên một hướng dẫn đầy đủ về cách thực hiện việc này trên Route53.


3
"Lưu ý đó là những khoảng trống đơn lẻ, không phải dòng mới, giữa mỗi đoạn!" Điều này rất quan trọng đối với tôi, vì nó không hoạt động. Làm việc ngay sau khi chuyển đổi, cảm ơn!
Alex Yurkowski

1
Đây phải là câu trả lời được chấp nhận.
Nikolay Tsenkov

Thật kỳ lạ, không gian làm việc cho DKIM, tuy nhiên khi thêm giá trị SPF của tôi vào bản ghi TXT hiện có, tôi phải tách các chuỗi được trích dẫn bằng ngắt dòng, không phải khoảng trắng, trước khi nó hoạt động trong AWS Route 53.
adam0101

5

DKIM trên AWS Route53

Bạn phải chia bản ghi DMARC thành 255 phần ký tự. Nếu bạn tình cờ lưu trữ DNS của mình bằng AWS Route53, hãy chèn từng phần được trích dẫn "..."vào bản ghi.

Không sử dụng dòng mới để phân chia các phần, vì đó sẽ là các mục TXT riêng biệt.

v=DKIM1; k=rsa; p=ABC123longkeypart1ABC123longkeypart2

trở thành

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

Sử dụng Terraform và Route53

Khi sử dụng Terraform để cung cấp các bản ghi Route53 của bạn, bạn cũng phải chia khóa DKIM thành 255 phần ký tự tối đa.

Vì Terraform đảm nhiệm việc trích dẫn mục nhập TXT, nên bạn chỉ phải cung cấp báo giá giữa mỗi phần, như vậy \"\".

v=DKIM1; k=rsa; p=ABC123longkeypart1ABC123longkeypart2

trở thành

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"
  ]
}

Xem thêm: https://www.terraform.io/docs/providers/aws/r/route53_record.html#records


3

Bạn chỉ cần chọn 1024 thay vì 2048 và thêm phần này vào tuyến 53 tại thời điểm tạo TXT trong Google Apps


4
Không có lý do để làm điều này - nếu bạn muốn 2048 làm theo câu trả lời được chọn. Kết nối bản ghi dkim với dấu ngoặc kép + khoảng trắng đơn giữa. Nó sẽ làm việc.
bshea
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.