diff --git a/internal/provider/utils/openvpn.go b/internal/provider/utils/openvpn.go
index 70024abd..35e16d24 100644
--- a/internal/provider/utils/openvpn.go
+++ b/internal/provider/utils/openvpn.go
@@ -175,8 +175,8 @@ func OpenVPNConfig(provider OpenVPNProviderSettings,
lines.add("setenv", envKey, envValue)
}
- for _, ca := range provider.CAs {
- lines.addLines(WrapOpenvpnCA(ca))
+ if len(provider.CAs) > 0 {
+ lines.addLines(WrapOpenvpnCAs(provider.CAs))
}
if provider.CRLVerify != "" {
lines.addLines(WrapOpenvpnCRLVerify(provider.CRLVerify))
@@ -268,13 +268,20 @@ func defaultStringSlice(value, defaultValue []string) (
}
func WrapOpenvpnCA(certificate string) (lines []string) {
- return []string{
- "",
- "-----BEGIN CERTIFICATE-----",
- certificate,
- "-----END CERTIFICATE-----",
- "",
+ return WrapOpenvpnCAs([]string{certificate})
+}
+
+func WrapOpenvpnCAs(certificates []string) (lines []string) {
+ lines = append(lines, "")
+ for _, certificate := range certificates {
+ lines = append(lines,
+ "-----BEGIN CERTIFICATE-----",
+ certificate,
+ "-----END CERTIFICATE-----",
+ )
}
+ lines = append(lines, "")
+ return lines
}
func WrapOpenvpnCert(clientCertificate string) (lines []string) {
diff --git a/internal/provider/utils/openvpn_test.go b/internal/provider/utils/openvpn_test.go
new file mode 100644
index 00000000..cf067922
--- /dev/null
+++ b/internal/provider/utils/openvpn_test.go
@@ -0,0 +1,38 @@
+package utils
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestWrapOpenvpnCAs(t *testing.T) {
+ t.Parallel()
+
+ lines := WrapOpenvpnCAs([]string{"cert1", "cert2"})
+
+ assert.Equal(t, []string{
+ "",
+ "-----BEGIN CERTIFICATE-----",
+ "cert1",
+ "-----END CERTIFICATE-----",
+ "-----BEGIN CERTIFICATE-----",
+ "cert2",
+ "-----END CERTIFICATE-----",
+ "",
+ }, lines)
+}
+
+func TestWrapOpenvpnCA(t *testing.T) {
+ t.Parallel()
+
+ lines := WrapOpenvpnCA("cert1")
+
+ assert.Equal(t, []string{
+ "",
+ "-----BEGIN CERTIFICATE-----",
+ "cert1",
+ "-----END CERTIFICATE-----",
+ "",
+ }, lines)
+}