DKIM 레코드 생성기
브라우저에서 DKIM 키 쌍을 만들고 게시할 레코드를 받으세요. Google Workspace나 Microsoft 365를 쓰나요? 그쪽에서 키를 만들어 줍니다: 어디서 하는지 알려 드립니다.
도메인이 이미 게시한 키와 그 키를 만든 곳을 찾습니다. 아래에서 메일에 서명할 곳을 직접 고를 수도 있습니다.
브라우저 안에서 만들어집니다. DNS 질의만 HTTPS로 Cloudflare 리졸버(교차 확인용으로 Google 리졸버)에 전달됩니다.
example.com용 키 만들기
브라우저의 Web Crypto로 만듭니다. 개인 키는 이 탭 밖으로 나가지 않습니다.
RFC 8301이 요구하는 크기입니다. 보통 이것을 선택합니다.
고급
내 키
오프라인에서도 작동합니다: Wi-Fi를 끄고 다시 생성해 보세요.
OpenDKIM 설정
# Key file: only the opendkim user may read it $ sudo mkdir -p /etc/opendkim/keys/example.com $ sudo nano /etc/opendkim/keys/example.com/s.private $ sudo chown -R opendkim:opendkim /etc/opendkim/keys $ sudo chmod 600 /etc/opendkim/keys/example.com/s.private
교체 계획
- 오늘를 게시한 다음 그 키로 서명을 시작하세요.
- 6개월 후…를 만들어 와 나란히 게시하세요.
- 전환…로 서명하세요.
- 7~30일 후전송 중인 메일을 위해 를 계속 게시해 두세요.
- 폐기에 빈 키를 게시하세요. 삭제하지 마세요.
v=DKIM1; k=rsa; p=
게시한 후
DKIM 키와 레코드는 어떻게 생성합니까?
RSA 2048 키 쌍을 만들어 개인 키는 메일에 서명하는 서버에 보관하고, 공개 키는 selector._domainkey.yourdomain의 TXT 레코드로 게시하면 DKIM 설정이 끝납니다(RFC 6376).
새 키마다 만든 달 같은 새 셀렉터 이름을 정하세요. 그 키로 서명한 메일이 아직 오는 중일 때도 이전 키를 계속 게시해 둘 수 있습니다.
그다음 서명 측에 개인 키를 설치하고 테스트 메시지를 보내세요. DKIM-Signature 헤더에 수신 서버가 조회할 도메인(d=)과 셀렉터(s=)가 들어 있습니다.
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=s202610; …s202610._domainkey.example.com수신 서버가 이것으로 검증 ✓
다른 스크립트가 읽을 수 없는 개인 키네트워크에 닿을 수 없는 격리된 프레임 안에서 만들고 보관합니다.서명 측이 읽는 형식PKCS#8, PKCS#1 또는 base64 한 줄 중 서명 측에 맞는 것을 고릅니다.요청 0건, 오프라인에서도 작동생성 버튼을 누른 뒤의 네트워크 요청 수를 실시간으로 셉니다.서명 측의 파일OpenDKIM, rspamd, Exim, Postfix, Amazon SES용으로 내 도메인과 셀렉터를 채웠습니다.날짜가 들어간 셀렉터이름에 키를 만든 시점이 들어 있으며, 아래 키 교체 계획은 다음 키와 폐기 날짜를 정해 줍니다.DKIM 키를 직접 생성해야 합니까?
자체 서버가 메일에 서명하는 경우에만 필요합니다. Google Workspace, Microsoft 365와 대부분의 이메일 서비스는 키를 직접 만들고 게시할 레코드를 알려 주므로, 생성기로 만든 키는 사용되지 않습니다.
Postfix와 OpenDKIM, rspamd, Exim, Haraka, 자체 앱, 그리고 Amazon SES(BYODKIM)와 Mailgun처럼 키를 받아 주는 서비스에는 직접 만든 키가 의미가 있습니다.
| 발신자 | 키를 만드는 곳 | 게시할 내용 | 셀렉터 |
|---|---|---|---|
| Google Workspace | 제공업체 | TXT(제공업체의 키) | |
| Microsoft 365 | 제공업체 | 해당 키로 가는 CNAME | selector1, selector2 |
| SendGrid | 제공업체 | 해당 키로 가는 CNAME | s1, s2 |
| Mailchimp | 제공업체 | 해당 키로 가는 CNAME | k2, k3 |
| Postmark | 제공업체 | TXT(제공업체의 키) | <date>pm |
| Brevo | 제공업체 | 해당 키로 가는 CNAME | brevo1, brevo2 |
| Zoho Mail | 제공업체 | TXT(제공업체의 키) | zoho |
| Amazon SES | 어느 쪽이든 가능 | TXT(내 키) | 아무거나 |
| Mailgun | 어느 쪽이든 가능 | TXT(내 키) | 아무거나 |
| OpenDKIM | 사용자 | TXT(내 키) | 아무거나 |
| rspamd | 사용자 | TXT(내 키) | 아무거나 |
| Exim | 사용자 | TXT(내 키) | 아무거나 |
RSA 1024, 2048, 4096, Ed25519 중 무엇을 써야 합니까?
RSA 2048을 쓰세요. 1024는 수신 서버가 받아 주는 최소 크기이고, 4096은 DNS에 부담을 주며, Ed25519는 짧지만 독립 테스트에서 대형 메일함 제공업체가 검증하지 않는 것으로 나타나 RSA 서명과 함께 쓸 때만 도움이 됩니다.
opendkim-genkey, rspamd의 dkim_keygen, Microsoft 365처럼 아직 기본값이 1024인 도구가 많습니다. RFC 8301은 2048을 요구합니다.
Ed25519를 추가한다면 RSA로도 별도 셀렉터를 써서 서명하세요. 정렬된 서명 여러 개 중 하나가 실패하면 Yahoo는 DMARC를 통과시키지 않을 수 있습니다.
OpenDKIM, rspamd, Exim은 어떻게 설정합니까?
개인 키를 서명 측만 읽을 수 있는 곳에 저장하고, 서명 측 설정에서 도메인과 셀렉터를 그 키에 연결한 다음 재시작하세요. 탭마다 서명 측별 파일에 내 값이 채워져 있습니다.
자신에게 메시지를 보내 헤더의 DKIM 결과를 읽거나 저희 DKIM 확인 도구로 결과를 확인하세요.
# /etc/opendkim/KeyTable s202610._domainkey.example.com example.com:s202610:/etc/opendkim/keys/example.com/s202610.private # /etc/opendkim/SigningTable *@example.com s202610._domainkey.example.com # /etc/opendkim/TrustedHosts 127.0.0.1 localhost
# /etc/rspamd/local.d/dkim_signing.conf domain { example.com { selector = "s202610"; path = "/var/lib/rspamd/dkim/example.com.s202610.key"; } } # only if example.com is a subdomain: use_esld = false; # only if users log in without @example.com: allow_username_mismatch = true; $ sudo rspamadm configtest && sudo systemctl restart rspamd
DKIM 레코드가 여러 문자열로 나뉘는 이유는 무엇입니까?
2048비트 키 레코드는 약 410자로 255바이트 TXT 문자열 하나보다 길어서, DNS는 이를 문자열 두 개로 저장하고 검증 측은 그 사이에 아무것도 넣지 않고 이어 붙입니다.
Cloudflare, Azure, cPanel류 패널은 값 전체를 받아 알아서 나눕니다. Route 53과 Google Cloud DNS는 따옴표로 묶은 문자열을 붙여넣어야 합니다. GoDaddy는 값을 1,024자로 제한합니다.
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtw0DwsqwlKexAE5H5WDgWwJlEz/C+7FIeL9/Y1TahjkvMvvX+lUQofjxhVmt/yMXVjvgrYb9jZIxtG96iO9qggOWi0vAeClBst4m3rj3O7GjkC/dfbG2BhQBpwJYt6ec76B8y6cyHBZ0+hMWGfAxuLQt/kkiVsaqwRxRQvEuMfnL4L9S8I7evV8GHFihlEgIaM9W8ag4zzL0ZxiEeznDaHYmJDbmgzarExXIY1IuMdpPu1/GmSrq9RCHEifKVvKsOPcmbv2u6xMbW63/EZmPIY78eZRqkioT8TangIPKsP7HEFZRKQwnQJy/OybqexdiFmt29BXBo7A745shhzueGQIDAQABs202610._domainkey.example.com. 3600 IN TXT ( "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtw0DwsqwlKexAE5H5WDgWwJlEz/C+7FIeL9/Y1TahjkvMvvX+lUQofjxhVmt/yMXVjvgrYb9jZIxtG96iO9qggOWi0vAeClBst4m3rj3O7GjkC/dfbG2BhQBpwJYt6ec76B8y6cyHBZ0+hMWGfAxuLQt/kkiVsaqwRxRQvEuMfnL4L9S8I7evV8GHFihlEgIa" "M9W8ag4zzL0ZxiEeznDaHYmJDbmgzarExXIY1IuMdpPu1/GmSrq9RCHEifKVvKsOPcmbv2u6xMbW63/EZmPIY78eZRqkioT8TangIPKsP7HEFZRKQwnQJy/OybqexdiFmt29BXBo7A745shhzueGQIDAQAB" )
DKIM 키는 어떻게 교체합니까?
새 셀렉터로 새 키를 게시하고 서명을 그 키로 전환한 뒤, 전송 중인 메일을 위해 이전 레코드를 7~30일 유지하고 빈 p=로 폐기하세요. M3AAWG는 최소 6개월마다 교체하라고 합니다.
삭제하지 말고 폐기하세요. 그래야 검증 측이 이전 셀렉터를 폐기된 것으로 보고합니다. 새 키에 셀렉터 이름을 다시 쓰지 마세요.
s202611서명7~30일 유지p=(폐기됨)s202705서명온라인에서 DKIM 키를 생성해도 안전합니까?
키를 브라우저에서 만들고 전송하지 않는 경우에만 안전합니다. 이 페이지는 네트워크에 닿을 수 없는 격리된 프레임 안에서 Web Crypto로 키를 만들며, 브라우저 개발자 도구에서 직접 확인할 수 있습니다.
일부 온라인 생성기는 서버에서 키를 만들어 응답으로 돌려주는데, 그러면 키가 기록되거나 보관될 수 있습니다. 브라우저에서 만든 키는 저장하기 전까지 내 탭에만 존재합니다.
이 페이지의 다른 스크립트는 키가 들어 있는 프레임을 읽을 수 없으며, 페이지는 오프라인에서도 작동합니다: Wi-Fi를 끄고 다시 생성해 보세요.
GET /generate?key_size=2048200 {"private_key": "-----BEGIN…"}기록될 수 있음DKIM 레코드 생성기 FAQ
DKIM 레코드란 무엇입니까?
여기서 DKIM 키를 생성해도 안전합니까?
DKIM 키 크기는 얼마로 해야 합니까?
Google Workspace나 Microsoft 365에는 DKIM 키가 필요합니까?
DKIM 셀렉터란 무엇입니까?
개인 키는 어떤 형식입니까?
한 도메인에 DKIM 레코드를 둘 이상 둘 수 있습니까?
DKIM 레코드가 255자보다 긴 이유는 무엇입니까?
DKIM 레코드의 t=y는 무슨 뜻입니까?
DKIM 키는 얼마나 자주 교체해야 합니까?
부족한 점이 있습니까?기능 또는 새 도구 제안하기
관련 도구
DMARC 레코드 생성기
지금 게시한 레코드에서 시작해 RFC 9989에 맞는 DMARC 레코드를 만들고, 인증에 실패한 메일을 수신 서버가 어떻게 처리할지 확인하세요.
SPF 레코드 생성기
이메일 서비스와 서버에 맞는 유효한 SPF TXT 레코드를 만들고 DNS 조회 10회 제한을 실시간으로 확인
DKIM 확인
자동 셀렉터 감지로 DKIM 레코드 검증
DMARC 레코드 확인
도메인의 DMARC 정책 및 정렬 설정 확인
SPF 레코드 확인
SPF 레코드 검증 및 RFC 7208에 따른 DNS 조회 수 확인
MX 조회
메일 교환 레코드 및 메일 서버 세부 정보 확인
이메일 헤더 분석
원시 이메일 헤더를 분석하고 이메일 경로 추적
BIMI 레코드 검사기
BIMI 레코드, SVG Tiny PS 로고, VMC 인증서와 로고가 표시되는 받은편지함 확인