Tôi đang cố gắng nhập khóa DKIM 4028 bit vào DNS và dường như tôi vượt quá cả giới hạn UDP 512 byte và cả kích thước bản ghi tối đa cho bản ghi TXT.
Làm thế nào để ai đó tạo đúng một khóa lớn (với kích thước được mã hóa lớn hơn) và nhập nó vào DNS?
Tôi đang cố gắng nhập khóa DKIM 4028 bit vào DNS và dường như tôi vượt quá cả giới hạn UDP 512 byte và cả kích thước bản ghi tối đa cho bản ghi TXT.
Làm thế nào để ai đó tạo đúng một khóa lớn (với kích thước được mã hóa lớn hơn) và nhập nó vào DNS?
Câu trả lời:
Bạn cần chia chúng trong trường văn bản. Tôi tin rằng 2048 là giới hạn thực tế cho các kích thước chính. Chia trường văn bản thành các phần 255 ký tự trở xuống. Có chi phí cho mỗi lần phân chia.
Có hai định dạng cho các trường dài.
TXT "phần một" \ "phần hai"
TXT ("phần một" "phần hai")
Cả hai sẽ kết hợp thành "một phần khởi động hai". Thêm chi tiết từ Zytrax.
Để tạo mục nhập dkim của tôi, tôi chèn tệp khóa công khai của mình và bọc nó trong dấu ngoặc kép.
Tệp khóa công khai của tôi chứa các mục sau:
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD78Ki2d0zmOlmjYNDC7eLG3af12KrjmPDeYRr3
q9MGquKRkRFlY+Alq4vMxnp5pZ7lDaAXXwLYjN91YY7ARbCEpqapA9Asl854BCHMA7L+nvk9kgC0
ovLlGvg+hhqIPqwLNI97VSRedE60eS+CwcShamHTMOXalq2pOUw7anuenQIDAQAB
Sau khi chỉnh sửa khóa trong tệp vùng dns của tôi xuất hiện như sau:
dkim3._domainkey IN TXT ("v=DKIM1; t=s; p="
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD78Ki2d0zmOlmjYNDC7eLG3af12KrjmPDeYRr3"
"q9MGquKRkRFlY+Alq4vMxnp5pZ7lDaAXXwLYjN91YY7ARbCEpqapA9Asl854BCHMA7L+nvk9kgC0"
"ovLlGvg+hhqIPqwLNI97VSRedE60eS+CwcShamHTMOXalq2pOUw7anuenQIDAQAB")
DNS trả về nó như sau:
bill:~$ host -t TXT dkim3._domainkey.systemajik.com
dkim3._domainkey.systemajik.com descriptive text "v=DKIM1\; t=s\; p=" "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD78Ki2d0zmOlmjYNDC7eLG3af12KrjmPDeYRr3" "q9MGquKRkRFlY+Alq4vMxnp5pZ7lDaAXXwLYjN91YY7ARbCEpqapA9Asl854BCHMA7L+nvk9kgC0" "ovLlGvg+hhqIPqwLNI97VSRedE60eS+CwcShamHTMOXalq2pOUw7anuenQIDAQAB"
DNS coi nó như một chuỗi dài không có khoảng trắng thừa nơi các dòng được nối. Tất cả các " "
trình tự được bỏ qua.
" "
chuỗi và bạn thực sự chứng minh điều đó trong trích dẫn cuối cùng của bạn. Đó là SPF RFC 4408 phần 3.1.3, định nghĩa rằng nên sử dụng phép nối với các ứng dụng đọc bản ghi DNS để xác thực SPF.
Nếu đó là Amazon Route 53 thì không nên sử dụng dòng mới (chỉ khoảng trắng) giữa các khối.
"do it" "this way"
"not like"
"this"
Nếu bạn sử dụng giao diện người dùng poweradmin cho pdns, bạn chỉ cần nhập toàn bộ chuỗi dkim vào trường đầu vào.
v=DKIM1;k=rsa;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxtR3bw1Kbh1B7q4+5aWjTj2YEFwv230gcv+NMp4KouOSLdIr0mCMiwDZpY+7zCdks0zMXtz+F5TPij/NkSAxIKBbJqbIO3mvAhgeI0Vy5aQ5prwnIyXUj54po6AsXbv5Ud2tFbGSsdIhvWiC755d3WaFs8mdWFkpSxprlW6PobCzOWDayWGCvsNfHpjmTxHZinkd3TmLQqE/O6Nb1YnRwQwUCLioSyudV+5Bd2+rXZ2V9FYAOiK2aQi2aSTiUaLCVxft9H6xen3JDaKsuu43QMBrhydoJOCV2QaY82IxqE3GgZrlADu6YEOfotdwD2aA9GRwVB88GqdXL8HwgEGTbwIDAQAB
Tôi biết bài đăng này là cổ xưa, nhưng tôi đã tìm thấy nó ngày hôm nay khi truy vấn "khóa DKIM 2048 bit với UltraDNS." Nhóm DNS của tôi đã cố chia khóa thành hai phần với các trích dẫn xung quanh chúng và khoảng trắng ở giữa. Điều đó đã khiến UltraDNS phục vụ tối đa 3 gói (gói ở giữa trống), dẫn đến kết quả xác thực không nhất quán.
Điều làm việc cho tôi trong bảng điều khiển UltraDNS chỉ là gửi toàn bộ hồ sơ trong dấu ngoặc kép mà không có nhiều bộ dấu ngoặc kép, dấu phân cách, v.v. Hoạt động như mong đợi bây giờ.
Nếu bạn đang sử dụng MySQL / MariaDB làm phụ trợ DNS, như PowerDNS, bạn có thể thay đổi kích thước cột nội dung của mình.
Độ dài nội dung PowerDNS mặc định là VARCHAR (255)
Vì vậy, chữ ký DKIM của bạn sẽ được cắt bớt thành 255 ký tự
để sửa lỗi này
chỉ cần thay đổi kích thước nội dung thông qua MySQL CLI / MariaDB CLI
mysql -u root -p
USE powerdns;
alter table records modify column content text not null;
khởi động lại dịch vụ DNS của bạn (ví dụ PowerDNS)
service pdns restart