Wenn ich von einer Securepoint UTM die SSL-VPN Konfiguration herunter lade, dann beinhaltet diese neben der VPN Konfigurationsdatei noch drei weitere Dateien. Diese sind das Zertfikat von der CA, das Zertifikat des Nutzers und der Schlüssel des Nutzers.

Manche Geräte können mit diesen unterschiedlichen Dateien nicht umgehen, weil z.B. kein richtiges Dateisystem vorhanden ist. Apple iPhone/iPad Apps wären z.B. so ein Fall.

Will man dort SSL-VPN (openVPN) verwenden, so muss die CA, Cert und Key direkt in der openVPN Konfigurationsdatei vorhanden sein.
Für diesen Fall habe ich ein kleines Script geschrieben. (Etwas abgewandelt welches ich im Securepoint Forum gefunden habe.

Dies Script geht davon aus, dass die Konfigurationsdaten entpackt in einem Verzeichnis liegen. Zu finden sind die Dateien in der Regel im „Data“ Verzeichnis wenn man das ZIP entpackt oder das TBLK-Verzeichnis umbenannt hat.

Hier nun aber erst mal das Script. Als ersten Parameter wird der Dateiname des openVPN-Files erwartet. Zweiter Parameter wie die neue Konfigurationsdatei benannt werden soll. Der dritte und letzte Parameter gibt an, ob die Originaldateien gelöscht oder behalten werden sollen.

Hier nun aber erst mal das Script:

#!/bin/sh
# Autor: Knut Herter
#
if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ] ; then
		echo "\nKeine Parameter angegeben!"
		echo ""
 		echo "Parameter 1: <Dateiname>(ohne .ovpn)"
 		echo "Parameter 2: <Neuer Dateiname>(ohne .ovpn)"
 		echo "Parameter 3: <0 oder 1> 1 = Origignaldateien löschen"
		echo "\n"
 		exit 1
fi

for dat in ".ovpn" "-ca.pem" "-cert.pem" "-cert.key"; do
	if [ ! -f "$1$dat" ]; then
	    echo "$1$dat nicht vorhanden"
	    fehler=1
	fi
done

if [ $fehler ]; then echo "\nFehler, breche die Verarbeitung ab." 
 exit 1  
fi

grep -F -v -e "ca" -e "cert" -e "key" "$1".ovpn > $2.ovpn
{
echo '<ca>'
cat "$1"-ca.pem 
echo '</ca>'
echo '<cert>'
cat "$1"-cert.pem 
echo '</cert>'
echo '<key>'
cat "$1"-cert.key 
echo '</key>'
} >> $2.ovpn

if [ "$3" = "1" ]; then
for dat in ".ovpn" "-ca.pem" "-cert.pem" "-cert.key"; do
	rm -f $1$dat
done
fi

Anschließend kann man die erzeuge .ovpn-Datei z.B. auf seinem iPhone/iPad nutzen um sich mit dem SSL-VPN Server zu verbinden. 

Auch in Tunnelblick oder dem originalen Securepoint VPN Client kann diese Datei verwendet werden.