Trasa 53 nie pozwala na dodawanie kluczy DKIM, ponieważ długość jest za długa

41

Oto jak wprowadzić wartość klucza 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"

W tej wartości nie ma żadnych nowych wierszy (specjalnie skopiowałem wklejony i przetestowałem w edytorze tekstu). Ale z jakiegoś powodu ciągle otrzymuję TXT to zbyt długi błąd:

TXTRDATATooLong spotykane w „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 ”

Naprawdę nie wiem, co powinienem zrobić, aby rozwiązać ten problem.

Gasim
źródło
Spróbuj usunąć spację po każdym;
Drifter104
Zetknąłem się również z tym problemem z trasą AWS 53 DKIM ... rozwiązałeś to? Uważam, że Amazon AWS jest źle utrzymany ... po prostu spróbuj użyć ich forum Q / A ... co za żart starożytnego, przestarzałego 15-letniego interfejsu internetowego
Scott Stensland
@ScottStensland Jak zauważono w przyjętej odpowiedzi, nie jest to wina AWS i istnieje proste rozwiązanie.
ceejayoz

Odpowiedzi:

56

Zobacz podobny problem na forum Route 53 :

Niestety limit 255 znaków na ciąg znaków w rekordach TXT nie jest limitem Route53, ale raczej narzuconym przez sam protokół DNS. Jednak każdy rekord TXT może mieć wiele ciągów, każdy o długości 255 znaków. Będziesz musiał podzielić swój DKIM na wiele ciągów dla rekordu TXT. Możesz to zrobić za pomocą konsoli, wprowadzając każdy ciąg zamknięty w cudzysłów, po jednym ciągu w wierszu.

Ważna uwaga : Nie używaj „jednego ciągu w wierszu”, jak mówią instrukcje - oddzielnych ciągów z pojedynczą spacją, np. "foo" "bar"Nie "foo"\n"bar". Użyj DKIMValidator, aby sprawdzić poprawność odczytu podpisu.

Jewgienij Goldin
źródło
12
Upewnij się również, że 1 spacja znajduje się między każdym cytatem końca / początku - nie jest to nowa linia / cr, jak pokazuje AWS po dodaniu rekordów TXT - nie są to osobne rekordy. Przykład: "p=sdfgkjhsdfg...." "sdklfjsdf....." <odstęp między.
bshea
5
Problemem była dla mnie przestrzeń newline v / s. Dzięki @bshea
Nehal J Wani
40

Możesz pokroić go na fragmenty cytowanego tekstu o maksymalnej długości 255 na fragment. Nie musisz dokładać każdego kawałka.

Na przykład, jeśli twoja wartość wygląda mniej więcej tak:

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

Możesz posiekać w dowolnych miejscach:

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

Pamiętaj, że są to pojedyncze spacje, a nie nowe wiersze, między każdą porcją!

Nic dziwnego, że instrukcje konfiguracji Google są okropne. Właśnie napisałem kompletny przewodnik, jak to zrobić na Route53.

Andy Ray
źródło
2
„Zwróć uwagę, że są to pojedyncze spacje, a nie nowe wiersze, między każdym kawałkiem!” To było dla mnie ważne, ponieważ nie działało. Działa natychmiast po zmianie, dzięki!
Alex Yurkowski
1
To powinna być zaakceptowana odpowiedź.
Nikolay Tsenkov
Co dziwne, spacje działały dla DKIM, jednak dodając moją wartość SPF do istniejącego rekordu TXT, musiałem oddzielić cytowane ciągi za pomocą
podziałów
5

DKIM na AWS Route53

Musisz podzielić rekord DMARC na 255 części znaków. Jeśli zdarzyło Ci się hostować DNS przy użyciu AWS Route53, wstaw każdą cytowaną część "..."do rekordu.

Nie używaj nowego wiersza do dzielenia części, ponieważ byłyby to osobne wpisy TXT.

v=DKIM1; k=rsa; p=ABC123longkeypart1ABC123longkeypart2

staje się

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

Korzystanie z Terraform i Route53

Korzystając z Terraform do udostępniania rekordów Route53, musisz również podzielić klucz DKIM na 255 znaków maksimum.

Ponieważ Terraform zajmuje się cytowaniem wpisu TXT, musisz podawać cudzysłowy tylko między każdą częścią, w ten sposób \"\".

v=DKIM1; k=rsa; p=ABC123longkeypart1ABC123longkeypart2

staje się

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

Zobacz także: https://www.terraform.io/docs/providers/aws/r/route53_record.html#records

Overbryd
źródło
3

Możesz po prostu wybrać 1024 zamiast 2048 i dodać to do trasy 53 w momencie generowania TXT w Google Apps

Basil Abbas
źródło
4
Nie ma powodu, aby to robić - jeśli chcesz 2048 postępować zgodnie z wybraną odpowiedzią. Połącz rekord dkim z cudzysłowami + pojedynczym odstępem między. To będzie działać.
bshea