fix(settings): read PEM files but b64 env vars

- Extract base64 data from PEM files and secret files
- Environment variables are not PEM encoded and only the base64 data
- Affects OpenVPN certificate, key and encrypted key
This commit is contained in:
Quentin McGaw
2022-08-24 17:48:45 +00:00
parent 647cd07de7
commit 062b6a276c
8 changed files with 59 additions and 67 deletions

View File

@@ -1,6 +1,7 @@
package settings
import (
"encoding/base64"
"fmt"
"regexp"
"strings"
@@ -193,7 +194,7 @@ func validateOpenVPNClientCertificate(vpnProvider,
return nil
}
_, err = extract.PEM([]byte(clientCert))
_, err = base64.StdEncoding.DecodeString(clientCert)
if err != nil {
return err
}
@@ -215,7 +216,7 @@ func validateOpenVPNClientKey(vpnProvider, clientKey string) (err error) {
return nil
}
_, err = extract.PEM([]byte(clientKey))
_, err = base64.StdEncoding.DecodeString(clientKey)
if err != nil {
return err
}
@@ -232,9 +233,9 @@ func validateOpenVPNEncryptedKey(vpnProvider,
return nil
}
_, err = extract.PEM([]byte(encryptedPrivateKey))
_, err = base64.StdEncoding.DecodeString(encryptedPrivateKey)
if err != nil {
return fmt.Errorf("extracting encrypted key: %w", err)
return err
}
return nil
}