summaryrefslogtreecommitdiff
path: root/caddytest/integration/pki_test.go
blob: 5e9928c0cbabb361a1f23ac8963af85f27123bb1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
package integration

import (
	"testing"

	"github.com/caddyserver/caddy/v2/caddytest"
)

func TestLeafCertLifetimeLessThanIntermediate(t *testing.T) {
	caddytest.AssertLoadError(t, `
    {
      "apps": {
        "http": {
          "servers": {
            "srv0": {
              "listen": [
                ":443"
              ],
              "routes": [
                {
                  "handle": [
                    {
                      "handler": "subroute",
                      "routes": [
                        {
                          "handle": [
                            {
                              "ca": "internal",
                              "handler": "acme_server",
                              "lifetime": 604800000000000
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          }
        },
        "pki": {
          "certificate_authorities": {
            "internal": {
              "install_trust": false,
              "intermediate_lifetime": 604800000000000,
              "name": "Internal CA"
            }
          }
        }
      }
    }
	`, "json", "certificate lifetime (168h0m0s) should be less than intermediate certificate lifetime (168h0m0s)")
}

func TestIntermediateLifetimeLessThanRoot(t *testing.T) {
	caddytest.AssertLoadError(t, `
    {
      "apps": {
        "http": {
          "servers": {
            "srv0": {
              "listen": [
                ":443"
              ],
              "routes": [
                {
                  "handle": [
                    {
                      "handler": "subroute",
                      "routes": [
                        {
                          "handle": [
                            {
                              "ca": "internal",
                              "handler": "acme_server",
                              "lifetime": 2592000000000000
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          }
        },
        "pki": {
          "certificate_authorities": {
            "internal": {
              "install_trust": false,
              "intermediate_lifetime": 311040000000000000,
              "name": "Internal CA"
            }
          }
        }
      }
    }
	`, "json", "intermediate certificate lifetime must be less than root certificate lifetime (86400h0m0s)")
}