The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
description: >-
  Signed Headers
tests:      
  header_order:
    spec:        12/16
    description: sig header order respected
    message:     |
      Authentication-Results: lists.example.org;
        spf=pass smtp.mfrom=jqd@d1.example;
        dkim=pass (1024-bit key) header.i=@d1.example;
        dmarc=pass      
      MIME-Version: 1.0
      Return-Path: <jqd@d1.example.org>
      Received: by 10.157.14.6 with HTTP; Tue, 3 Jan 2017 12:22:54 -0800 (PST)
      Message-ID: <54B84785.1060301@d1.example.org>
      Date: Thu, 14 Jan 2015 15:00:01 -0800
      From: John Q Doe <jqd@d1.example.org>
      To: arc@dmarc.org
      Subject: Example 1

      Hey gang,
      This is a test message.
      --J.
    t:           12345
    sig-headers: to:from:date:subject:mime-version
    srv-id: lists.example.org
    AS:          |
      a=rsa-sha256;
      b=gqSUpDYP3LzkxM6XeTjPlN5++ktIxy34FnYjEADeY+FQ/d+V3SoNBx9yLN+FVAsJCxblCS
      KUasBYrFqVq40SgVCSHrwnUYZ4mckNlNn+Hy6KEtS5hS/tEzZTW3y9hAPBJWdUyAUKiKIVq8
      V4Gq6yM5QKDu4Yq3D4PwgNjh76iH8=; cv=none; d=example.org; i=1; s=dummy;
      t=12345
    AMS:         |
      a=rsa-sha256;
      b=2o+Wl1gzbDmg4Hv5q52M7V+E6KBhMISVmqTDrk1HfOgMJwJ+0v8Nl18EjbL+iOTu6Vxz9+
      1m64cPsNr1Tgm79jjqugOKDI/yaU7h4DaFMmN54tGX8j1ElMXSl8ghcfaknApLU060vKVUoo
      F2GfD1qo+SSox3wkZNkPQdGKjNmQM=;
      bh=KWSe46TZKCcDbH4klJPo+tjk5LWJnVRlP5pvjXFZYLQ=; c=relaxed/relaxed;
      d=example.org; h=to:from:date:subject:mime-version;
      i=1; s=dummy; t=12345      
    AAR:         |
      i=1; lists.example.org;
      spf=pass smtp.mfrom=jqd@d1.example;
      dkim=pass (1024-bit key) header.i=@d1.example;
      dmarc=pass
  header_dup_ord1:
    spec:        12/16
    description: duplicated header, order 1
    message:     |
      Authentication-Results: lists.example.org;
        spf=pass smtp.mfrom=jqd@d1.example;
        dkim=pass (1024-bit key) header.i=@d1.example;
        dmarc=pass      
      MIME-Version: 1.0
      Return-Path: <jqd@d1.example.org>
      Received: by 10.157.14.6 with HTTP; Tue, 3 Jan 2017 12:22:54 -0800 (PST)
      Message-ID: <54B84785.1060301@d1.example.org>
      Date: Thu, 14 Jan 2015 15:00:01 -0800
      From: John Q Doe <jqd@d1.example.org>
      To: denna@dmarc.org
      To: auri@dmarc.org
      Subject: Example 1

      Hey gang,
      This is a test message.
      --J.
    t:           12345
    sig-headers: mime-version:date:from:to:subject
    srv-id: lists.example.org
    AS:          |
      a=rsa-sha256;
      b=3LFkLFLW8xkBFnaTFs2EGa5WBUfAsUOw63TNwfqAqmWYTzDfw4Ns2yZWNEZE8ORQgj12en
      FqKOU1u8MU/LgbzV55tKahhLKXSJ0wND5ruQNMZv2ls44a/Zyy0fbh4t29kZ7K6eHSQMStUz
      YbCAdAklVigKcjq1g5kMdHgD8IxMc=; cv=none; d=example.org; i=1; s=dummy;
      t=12345
    AMS:         |
      a=rsa-sha256;
      b=UQp6p9TvTDEpkBB1zIsA/94TszxBvWWnFm+nHLbyrjLhiKZ9VZtZI2QEPVs/0IaTJxsGmq
      pChiXJwj8epXN1oJDjO+XBlSCKoTWZTeKC0MbJ07kpm7viFhSu0qpF83k1f5Ej9jf84D2wLt
      zb7hgnWi24ielL6FzGN+H8buVhbbU=;
      bh=KWSe46TZKCcDbH4klJPo+tjk5LWJnVRlP5pvjXFZYLQ=; c=relaxed/relaxed;
      d=example.org; h=mime-version:date:from:to:subject;
      i=1; s=dummy; t=12345      
    AAR:         |
      i=1; lists.example.org;
      spf=pass smtp.mfrom=jqd@d1.example;
      dkim=pass (1024-bit key) header.i=@d1.example;
      dmarc=pass      
  header_dup_ord2:
    spec:        12/16
    description: duplicated headers order 2
    message:     |
      Authentication-Results: lists.example.org;
        spf=pass smtp.mfrom=jqd@d1.example;
        dkim=pass (1024-bit key) header.i=@d1.example;
        dmarc=pass      
      MIME-Version: 1.0
      Return-Path: <jqd@d1.example.org>
      Received: by 10.157.14.6 with HTTP; Tue, 3 Jan 2017 12:22:54 -0800 (PST)
      Message-ID: <54B84785.1060301@d1.example.org>
      Date: Thu, 14 Jan 2015 15:00:01 -0800
      From: John Q Doe <jqd@d1.example.org>
      To: auri@dmarc.org
      To: denna@dmarc.org
      Subject: Example 1

      Hey gang,
      This is a test message.
      --J.
    t:           12345
    sig-headers: mime-version:date:from:to:subject
    srv-id: lists.example.org
    AS:          |
      a=rsa-sha256;
      b=vXHsq4WbXJfOcQXeT+h35Ordn3oPZJ4b2yepw7IgrK7ThUlMw+XpGwUIvMWRspb8f5PFfu
      j13gjWHhQm3ZsZQdk3PAv2GOo7CCUc4kBz3zdS+F2TC3w7FAGUZwy1ydCTZepUYn9RwR9oWP
      tt6O0a6ANufAzQVFcLmqdRkw+tbQ4=; cv=none; d=example.org; i=1; s=dummy;
      t=12345
    AMS:         |
      a=rsa-sha256;
      b=tzFfrmm/eb6MujohtiI1VKBx7SEGIVT2zCHGo77GhZy0Gd2REEqYwvhJ7ZDekKHEu+jVts
      blyQisci9KYyzDryanja8kMi2caTy9yPiBTVW35xMGARfYXtTaJQxBuWB80NUrjb5+85LeKL
      HxfWNYzxJrLV2qStteu5VvHxt1DQY=;
      bh=KWSe46TZKCcDbH4klJPo+tjk5LWJnVRlP5pvjXFZYLQ=; c=relaxed/relaxed;
      d=example.org; h=mime-version:date:from:to:subject;
      i=1; s=dummy; t=12345      
    AAR:         |
      i=1; lists.example.org;
      spf=pass smtp.mfrom=jqd@d1.example;
      dkim=pass (1024-bit key) header.i=@d1.example;
      dmarc=pass
  sig_header_dup_once:
    spec:        12/16
    description: duplicated sig headers included once
    message:     |
      Authentication-Results: lists.example.org;
        spf=pass smtp.mfrom=jqd@d1.example;
        dkim=pass (1024-bit key) header.i=@d1.example;
        dmarc=pass      
      MIME-Version: 1.0
      Return-Path: <jqd@d1.example.org>
      Received: by 10.157.14.6 with HTTP; Tue, 3 Jan 2017 12:22:54 -0800 (PST)
      Message-ID: <54B84785.1060301@d1.example.org>
      Date: Thu, 14 Jan 2015 15:00:01 -0800
      From: John Q Doe <jqd@d1.example.org>
      To: auri@dmarc.org
      Subject: Example 1

      Hey gang,
      This is a test message.
      --J.
    t:           12345
    sig-headers: from:to:to:date:subject:mime-version
    srv-id: lists.example.org
    AS:          |
      a=rsa-sha256;
      b=HRFn5t4mnwZk6QjeABaOpy8rWHObzqW407UbA+Hup1O37WoadkxzY22uXQCn7VHKqRsUIS
      Z+vtADFY+JuzbY7yqrXB8nUS/P6R6o+j9E7w4WzGxqUlmqFH17e3g1cVRHEVcQlpliC9TO+/
      bf/x9ZlBuEeJUccbVQ8VuM18APsE4=; cv=none; d=example.org; i=1; s=dummy;
      t=12345
    AMS:         |
      a=rsa-sha256;
      b=b8D7xpSlIiWdOASTSGyWAa087zocte5WTUPaqytU+mXkhpeq2vU7yXXy42HFS8/yhsWpVw
      ft84uE9xEhixVzimMRjBSpAiFOIFjCWZuWVWBT9pG2xc9WJgx4wQbLJZJYxLcbdyEbluygRw
      mDtIWbZGrPDGtyydARp2pkNchs/Bo=;
      bh=KWSe46TZKCcDbH4klJPo+tjk5LWJnVRlP5pvjXFZYLQ=; c=relaxed/relaxed;
      d=example.org; h=from:to:to:date:subject:mime-version;
      i=1; s=dummy; t=12345
    AAR:         |
      i=1; lists.example.org;
      spf=pass smtp.mfrom=jqd@d1.example;
      dkim=pass (1024-bit key) header.i=@d1.example;
      dmarc=pass             
  sig_header_dup_twice:
    spec:        12/16
    description: duplicated sig headers included twice
    message:     |
      Authentication-Results: lists.example.org;
        spf=pass smtp.mfrom=jqd@d1.example;
        dkim=pass (1024-bit key) header.i=@d1.example;
        dmarc=pass      
      MIME-Version: 1.0
      Return-Path: <jqd@d1.example.org>
      Received: by 10.157.14.6 with HTTP; Tue, 3 Jan 2017 12:22:54 -0800 (PST)
      Message-ID: <54B84785.1060301@d1.example.org>
      Date: Thu, 14 Jan 2015 15:00:01 -0800
      From: John Q Doe <jqd@d1.example.org>
      To: denna@dmarc.org      
      To: auri@dmarc.org
      Subject: Example 1

      Hey gang,
      This is a test message.
      --J.
    t:           12345
    sig-headers: from:to:to:date:subject:mime-version
    srv-id: lists.example.org
    AS:          |
      a=rsa-sha256;
      b=gCtozfvMLQiP1NzMXNut15V/ePTArlVx0staLbIUz6rOHDFIYMDOZri4+JYoZNNcKjdR+o
      XQ+Gm/EDaOIaMBpwpoYzESHnrL8cIRe3NwxhtL2JoUIQ79eCEhaG5Gq7qurpoEV6Ddkz121w
      EtROCfRcIPOxDKoiKQyVhNVCc0xxM=; cv=none; d=example.org; i=1; s=dummy;
      t=12345
    AMS:         |
      a=rsa-sha256;
      b=M/o4ghtato9MEIyTyq6fNs8dRjo5k4okyohLu63KcHQBI6boSCh6wM/pul1vuQgEXfP4nr
      3jyYGFYRoPvbtLfBCnu0Gk9wTrhnCYc5RiU19tmR/dIHzKieA4dKfsSDi5EgoRehalYQl3KS
      Ly9SfIyosh5bimh3sapFW0JSYD+ko=;
      bh=KWSe46TZKCcDbH4klJPo+tjk5LWJnVRlP5pvjXFZYLQ=; c=relaxed/relaxed;
      d=example.org; h=from:to:to:date:subject:mime-version;
      i=1; s=dummy; t=12345      
    AAR:         |
      i=1; lists.example.org;
      spf=pass smtp.mfrom=jqd@d1.example;
      dkim=pass (1024-bit key) header.i=@d1.example;
      dmarc=pass       
  header_non:
    spec:        12/16
    description: non existant headers signed
    message:     |
      Authentication-Results: lists.example.org;
        spf=pass smtp.mfrom=jqd@d1.example;
        dkim=pass (1024-bit key) header.i=@d1.example;
        dmarc=pass      
      MIME-Version: 1.0
      Return-Path: <jqd@d1.example.org>
      Received: by 10.157.14.6 with HTTP; Tue, 3 Jan 2017 12:22:54 -0800 (PST)
      Message-ID: <54B84785.1060301@d1.example.org>
      Date: Thu, 14 Jan 2015 15:00:01 -0800
      From: John Q Doe <jqd@d1.example.org>
      To: arc@dmarc.org
      Subject: Example 1

      Hey gang,
      This is a test message.
      --J.
    t:           12345
    sig-headers: from:to:&&&:date:subject:mime-version
    srv-id: lists.example.org
    AS:          |
      a=rsa-sha256;
      b=4TsoQ6lkx+J+Nflw4uENH/jX7Q/P9M/FsbxU1Itd+/xvZUnOj0lHc+F3Hma0SGLhHZukuy
      ah/nEo11PDxbNgDcPib0jqvJuQ6zA7RnOOUkK7On9rKSSOe7bjlKjqC4zfiLx0R8BsiVlMnE
      694u2tZb1YxM+sjg7yabdSzsMhrUg=; cv=none; d=example.org; i=1; s=dummy;
      t=12345
    AMS:         |
      a=rsa-sha256;
      b=yTqa80O9qaHqm3FQ9XdtZMjW8zSCB5wCrlAIuCtWnMEevkKQUJf6alnMdXIg5TXhr2+3uZ
      dnbrMF+c11EwtBopG0qd/9BSrzLL65YmLFKhe0dSsFPhKOvw3yoDwk8gaE3AnnHRsPnHDWwr
      QmDiYbjfMOQMp4KcdGfI5JJtw+d64=;
      bh=KWSe46TZKCcDbH4klJPo+tjk5LWJnVRlP5pvjXFZYLQ=; c=relaxed/relaxed;
      d=example.org; h=from:to:&&&:date:subject:mime-version;
      i=1; s=dummy; t=12345
    AAR:         |
      i=1; lists.example.org;
      spf=pass smtp.mfrom=jqd@d1.example;
      dkim=pass (1024-bit key) header.i=@d1.example;
      dmarc=pass
domain:     example.org
sel:        dummy
privatekey: |
  -----BEGIN RSA PRIVATE KEY-----
  MIICXQIBAAKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQi
  Y/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqM
  KrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB
  AoGAH0cxOhFZDgzXWhDhnAJDw5s4roOXN4OhjiXa8W7Y3rhX3FJqmJSPuC8N9vQm
  6SVbaLAE4SG5mLMueHlh4KXffEpuLEiNp9Ss3O4YfLiQpbRqE7Tm5SxKjvvQoZZe
  zHorimOaChRL2it47iuWxzxSiRMv4c+j70GiWdxXnxe4UoECQQDzJB/0U58W7RZy
  6enGVj2kWF732CoWFZWzi1FicudrBFoy63QwcowpoCazKtvZGMNlPWnC7x/6o8Gc
  uSe0ga2xAkEA8C7PipPm1/1fTRQvj1o/dDmZp243044ZNyxjg+/OPN0oWCbXIGxy
  WvmZbXriOWoSALJTjExEgraHEgnXssuk7QJBALl5ICsYMu6hMxO73gnfNayNgPxd
  WFV6Z7ULnKyV7HSVYF0hgYOHjeYe9gaMtiJYoo0zGN+L3AAtNP9huqkWlzECQE1a
  licIeVlo1e+qJ6Mgqr0Q7Aa7falZ448ccbSFYEPD6oFxiOl9Y9se9iYHZKKfIcst
  o7DUw1/hz2Ck4N5JrgUCQQCyKveNvjzkkd8HjYs0SwM0fPjK16//5qDZ2UiDGnOe
  uEzxBDAr518Z8VFbR41in3W4Y3yCDgQlLlcETrS+zYcL
  -----END RSA PRIVATE KEY-----
txt-records:
  dummy._domainkey.example.org: |
    v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQ
    oBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzC
    Nb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvH
    O9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB
---


description: >-
  Authentication Results
tests:
  ar_merge:
    spec:        12/16
    description: AR header merging
    message:     |
      Authentication-Results: lists.example.org; arc=none    
      Authentication-Results: lists.example.org;
        spf=pass smtp.mfrom=jqd@d1.example;
        dkim=pass (1024-bit key) header.i=@d1.example;
        dmarc=pass
      MIME-Version: 1.0
      Return-Path: <jqd@d1.example.org>
      Received: by 10.157.14.6 with HTTP; Tue, 3 Jan 2017 12:22:54 -0800 (PST)
      Message-ID: <54B84785.1060301@d1.example.org>
      Date: Thu, 14 Jan 2015 15:00:01 -0800
      From: John Q Doe <jqd@d1.example.org>
      To: arc@dmarc.org
      Subject: Example 1

      Hey gang,
      This is a test message.
      --J.
    t:           12345
    sig-headers: mime-version:date:from:to:subject
    srv-id: lists.example.org
    AS:          |
      a=rsa-sha256;
      b=Pg8Yyk1AgYy2l+kb6iy+mY106AXm5EdgDwJhLP7+XyT6yaS38ZUho+bmgSDorV+LyARH4A
      967A/oWMX3coyC7pAGyI+hA3+JifL7P3/aIVP4ooRJ/WUgT79snPuulxE15jg6FgQE68ObA1
      /hy77BxdbD9EQxFGNcr/wCKQoeKJ8=; cv=none; d=example.org; i=1; s=dummy;
      t=12345
    AMS:         |
      a=rsa-sha256;
      b=XWeK9DxQ8MUm+Me5GLZ5lQ3L49RdoFv7m7VlrAkKb3/C7jjw33TrTY0KYI5lkowvEGnAtm
      5lAqLz67FxA/VrJc2JiYFQR/mBoJLLz/hh9y77byYmSO9tLfIDe2A83+6QsXHO3K6PxTz7+v
      rCB4wHD9GADeUKVfHzmpZhFuYOa88=;
      bh=KWSe46TZKCcDbH4klJPo+tjk5LWJnVRlP5pvjXFZYLQ=; c=relaxed/relaxed;
      d=example.org; h=mime-version:date:from:to:subject;
      i=1; s=dummy; t=12345
    AAR:         |
      i=1; lists.example.org; arc=none;
      spf=pass smtp.mfrom=jqd@d1.example;
      dkim=pass (1024-bit key) header.i=@d1.example;
      dmarc=pass
domain:     example.org
sel:        dummy
privatekey: |
  -----BEGIN RSA PRIVATE KEY-----
  MIICXQIBAAKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQi
  Y/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqM
  KrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB
  AoGAH0cxOhFZDgzXWhDhnAJDw5s4roOXN4OhjiXa8W7Y3rhX3FJqmJSPuC8N9vQm
  6SVbaLAE4SG5mLMueHlh4KXffEpuLEiNp9Ss3O4YfLiQpbRqE7Tm5SxKjvvQoZZe
  zHorimOaChRL2it47iuWxzxSiRMv4c+j70GiWdxXnxe4UoECQQDzJB/0U58W7RZy
  6enGVj2kWF732CoWFZWzi1FicudrBFoy63QwcowpoCazKtvZGMNlPWnC7x/6o8Gc
  uSe0ga2xAkEA8C7PipPm1/1fTRQvj1o/dDmZp243044ZNyxjg+/OPN0oWCbXIGxy
  WvmZbXriOWoSALJTjExEgraHEgnXssuk7QJBALl5ICsYMu6hMxO73gnfNayNgPxd
  WFV6Z7ULnKyV7HSVYF0hgYOHjeYe9gaMtiJYoo0zGN+L3AAtNP9huqkWlzECQE1a
  licIeVlo1e+qJ6Mgqr0Q7Aa7falZ448ccbSFYEPD6oFxiOl9Y9se9iYHZKKfIcst
  o7DUw1/hz2Ck4N5JrgUCQQCyKveNvjzkkd8HjYs0SwM0fPjK16//5qDZ2UiDGnOe
  uEzxBDAr518Z8VFbR41in3W4Y3yCDgQlLlcETrS+zYcL
  -----END RSA PRIVATE KEY-----
txt-records:
  dummy._domainkey.example.org: |
    v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQ
    oBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzC
    Nb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvH
    O9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB