Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions testcerts_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -637,6 +637,40 @@ func TestKeyPairConfig(t *testing.T) {
})
}

func TestNewKeyPairSANs(t *testing.T) {
t.Run("No domains defaults to localhost, 127.0.0.1 and ::1", func(t *testing.T) {
kp, err := NewCA().NewKeyPair()
if err != nil {
t.Fatalf("NewKeyPair() returned error: %v", err)
}

cert := kp.Cert()
if len(cert.DNSNames) != 1 || cert.DNSNames[0] != "localhost" {
t.Errorf("Unexpected DNSNames, expected [localhost] got %v", cert.DNSNames)
}
if len(cert.IPAddresses) != 2 ||
!cert.IPAddresses[0].Equal(net.ParseIP("127.0.0.1")) ||
!cert.IPAddresses[1].Equal(net.ParseIP("::1")) {
t.Errorf("Unexpected IPAddresses, expected [127.0.0.1 ::1] got %v", cert.IPAddresses)
}
})

t.Run("Explicit domains are used without default IPs", func(t *testing.T) {
kp, err := NewCA().NewKeyPair("example.com", "example.org")
if err != nil {
t.Fatalf("NewKeyPair() returned error: %v", err)
}

cert := kp.Cert()
if len(cert.DNSNames) != 2 || cert.DNSNames[0] != "example.com" || cert.DNSNames[1] != "example.org" {
t.Errorf("Unexpected DNSNames, expected [example.com example.org] got %v", cert.DNSNames)
}
if len(cert.IPAddresses) != 0 {
t.Errorf("Expected no IPAddresses, got %v", cert.IPAddresses)
}
})
}

type FullFlowTestCase struct {
name string
domains []string
Expand Down
Loading