A DKIM-Signature bir alanın bir mesajı nasıl imzaladığını açıklayan noktalı virgülle ayrılmış etiketler kümesidir. Bu alanları okumak doğru DNS arama ve araştırma yolunu seçmenize yardımcı olur. Kriptografiyi gözle doğrulamanıza izin vermez. Bir imzayı incelenmek üzere kopyalamadan veya yeniden biçimlendirmeden önce orijinal mesajı koruyun.
Arama ve algoritma alanlarıyla başlayın
Gerekli d= değeri imzalama alanıdır; gerekli s= seçici. Normal DNS TXT sorgulama yöntemiyle bunlar s. _domainkey.d. a= etiketi imzalama ve karma algoritmasını tanımlar. RFC 6376 imza söz dizimi için gerekli v= etiketinin değeri 1 olmalıdır. Bu, bir DNS anahtarı kaydındaki sürüm etiketinden farklıdır. Bu değerler doğrulama sonucunu değil imzayı tanımlar. RFC 6376 §3.5, RFC 6376 §3.6.2.
Açıklayıcı parça, kasıtlı olarak eksik ve geçerli bir imza değil: d=example.com; s=outbound2026; a=rsa-sha256; c=relaxed/relaxed; h=from:to:subject:date. Arama adı outbound2026._domainkey.example.com şeklindedir. Onun kanonikleştirme hem başlıklar hem de gövde için rahat işlemeyi kullanır. İmzalı başlık listesi, seçilen başlık alanlarını adlandırır. Parça, gerekli şifreleme değerlerini atlar ve hiçbir zaman üretim kaydı olarak kullanılmamalıdır.
İçerik kapsamını imza verilerinden ayırt etme
h= etiketi, imzalama işlemine sağlanan başlık alanlarını tanımlanmış sıralarına göre listeler. Bu bir karma algoritması değil. Kimden geçerli bir DKIM imzasına dahil edilmelidir. Tekrarlanan başlık adları ve yinelenen mesaj alanları, spesifikasyondaki seçim kurallarına ihtiyaç duyar; Listeye rastgele bir bakış, kapsamla ilgili her soruyu çözemez.
bh= etiketi şunu tutar: vücut karması. b= etiketi imza değerini tutar. Eşleşen veya makul görünen kodlamalar geçerliliği kanıtlamaz. c= etiketi, imzalı gösterimin belirli bir şekilde normalleştirilmesine izin veren kanonikleştirmeyi tanımlar. Bir mesajın keyfi olarak yeniden yazılmasına izin vermez. c= atlanırsa varsayılan basit/basittir; yalnızca bir algoritma adlandırılırsa, bu başlıklara uygulanır ve gövde varsayılan olarak basit olur. RFC 6376 §3.4, RFC 6376 §3.5, RFC 6376 §5.4.
İsteğe bağlı l= etiketi, dahil edilen standartlaştırılmış gövde sekizlilerinin sayısını sınırlar. Varlığı dikkat gerektirir: Geçerli bir imza, bu uzunluğun ötesinde eklenen içeriği kapsamayabilir. Her şeyi anlatmayın DKIM görünen her baytın değişmediğinin kanıtı olarak iletin. RFC 6376 §3.5, RFC 6376 §8.2.
Kimliği ve zamanı dikkatli bir şekilde yorumlayın
İsteğe bağlı i= değeri, imzalama alanının kuralları kapsamında belirtilen bir aracı veya kullanıcı tanımlayıcısıdır; mutlaka çalışan bir posta kutusu olması gerekmez. DMARC DKIM için doğrulanmış d=, i=, değil hizalama. t= ve x= etiketleri imzalama süresini ve imzanın sona erme tarihini tanımlar. RFC 6376 §3.5, mevcut olmasalar da resmi olarak her ikisini de ÖNERİLEN olarak işaretler. Bunlar imza meta verileridir, gerçek SMTP varış zamanının kanıtı değildir. Aktarım analizi için Alınan başlıkları ve sistem günlüklerini koruyun.
Eski kriptografi kullanan bir imza, yalnızca alanları ayrıştırıldığı için kabul edilmemelidir. RFC 8301 §3.1 rsa-sha1'i yasaklar; RFC 8301 §3.2 RSA anahtar gereksinimlerini günceller. Bu kontrolleri bu alan kılavuzundan manuel olarak uygulamak yerine, desteklenen doğrulama yazılımını ve mevcut sağlayıcı rehberliğini kullanın.
Alıcı sonucuyla bitirin
D/s çiftini, algoritmayı, ilgili kapsama alanlarını, güvenilir DKIM sonucunu ve hata nedenini toplayın. DNS eksikse tam sahip adını ve anahtar yaşam döngüsünü araştırın. Anahtar mevcutsa ancak doğrulama başarısızsa orijinal kanıtı değiştirmeden imzalama ve teslimat yollarını karşılaştırın. Yeni gönderilen bir mesaj ve güvenilir bir alıcı sonucu ile herhangi bir düzeltmeyi onaylayın. Amaç, görsel bir başarılı/başarısız tahmini değil, bir imzanın savunulabilir bir açıklamasıdır.
Ayrımı uygula
Açıklayıcı parçayı dört grup halinde okuyun: d/s kimlik ve aramayı seçer; a/c algoritmayı ve kanonikleştirmeyi belirtir; h ve herhangi bir l kapsamı tanımlar; b/bh, yazılımın doğruladığı değerleri taşır. Gerekli v/b/bh'nin eksik olması, parçanın geçerli bir imza olmadığı anlamına gelir. Gerçek bir imzada l=0 görünüyorsa, sıfır gövde sekizlileri karma haline getirilir, dolayısıyla gövde bütünlüğü korunmaz; RFC 6376 §3.5 bu uzunluk mekanizmasını tanımlar. Bu gözlemlerin hiçbiri kriptografik bir geçiş değildir.