diff --git a/src/etc/inc/openvpn-client-export.inc b/src/etc/inc/openvpn-client-export.inc index d1e04981e..7c5eda903 100644 --- a/src/etc/inc/openvpn-client-export.inc +++ b/src/etc/inc/openvpn-client-export.inc @@ -95,7 +95,7 @@ function openvpn_client_export_validate_config($srvid, $usrid, $crtid) { { $input_errors[] = gettext("Could not locate server certificate."); } else { - $server_ca = isset($server_cert['caref']) ? lookup_ca($server_cert['caref']) : null; + $server_ca = isset($server_cert['caref']) ? str_replace("\n\n", "\n", str_replace("\r", "", ca_chain($server_cert))) : null; if (!$server_ca) { $input_errors[] = gettext("Could not locate the CA reference for the server certificate."); } @@ -333,7 +333,7 @@ function openvpn_client_export_config($srvid, $usrid, $crtid, $useaddr, $verifys file_put_contents("{$tempdir}/{$prefix}.ovpn", $conf); $cafile = "{$tempdir}/{$cafile}"; - file_put_contents("{$cafile}", base64_decode($server_ca['crt'])); + file_put_contents("{$cafile}", $server_ca); if ($settings['tls']) { $tlsfile = "{$tempdir}/{$prefix}-tls.key"; file_put_contents($tlsfile, base64_decode($settings['tls'])); @@ -366,7 +366,7 @@ function openvpn_client_export_config($srvid, $usrid, $crtid, $useaddr, $verifys case "inlinedroid": case "inlineios": // Inline CA - $conf .= "{$nl}" . trim(base64_decode($server_ca['crt'])) . "{$nl}{$nl}"; + $conf .= "{$nl}" . trim($server_ca) . "{$nl}{$nl}"; if ($settings['mode'] != "server_user") { // Inline Cert $conf .= "{$nl}" . trim(base64_decode($cert['crt'])) . "{$nl}{$nl}"; @@ -394,7 +394,7 @@ function openvpn_client_export_config($srvid, $usrid, $crtid, $useaddr, $verifys file_put_contents("{$tempdir}/vpn.cnf", $conf); $cafile = "{$keydir}/ca.crt"; - file_put_contents("{$cafile}", base64_decode($server_ca['crt'])); + file_put_contents("{$cafile}", $server_ca); if ($settings['tls']) { $tlsfile = "{$keydir}/ta.key"; file_put_contents($tlsfile, base64_decode($settings['tls'])); @@ -419,7 +419,7 @@ function openvpn_client_export_config($srvid, $usrid, $crtid, $useaddr, $verifys file_put_contents("{$tempdir}/vpn.cnf", $conf); $cafile = "{$tempdir}/ca.crt"; - file_put_contents("{$cafile}", base64_decode($server_ca['crt'])); + file_put_contents("{$cafile}", $server_ca); if ($settings['tls']) { $tlsfile = "{$tempdir}/ta.key"; file_put_contents($tlsfile, base64_decode($settings['tls'])); @@ -506,7 +506,7 @@ function openvpn_client_export_installer($srvid, $usrid, $crtid, $useaddr, $veri file_put_contents($cfgfile, $conf); $cafile = "{$tempdir}/config/{$prefix}-ca.crt"; - file_put_contents($cafile, base64_decode($server_ca['crt'])); + file_put_contents($cafile, $server_ca); if ($settings['tls']) { $tlsfile = "{$tempdir}/config/{$prefix}-tls.key"; file_put_contents($tlsfile, base64_decode($settings['tls'])); @@ -634,7 +634,7 @@ EOF; // write ca $cafile = "{$tempdir}/ca.crt"; - file_put_contents($cafile, base64_decode($server_ca['crt'])); + file_put_contents($cafile, $server_ca); if ($settings['mode'] != "server_user") {