OpenVPN Inline Certs
From Lolly's Wiki
To get an OpenVPN-Configuration in one file you can inline all referred files like this: <syntaxhighlight lang=bash> $ nawk ' /^(tls-auth|ca|cert|key)/ {
type=$1; file=$2; # for tls-auth we need the key-direction if(type=="tls-auth")print "key-direction",$3; print "<"type">"; while(getline tlsauth<file) print tlsauth; close(file); print "</"type">"; next;
} {
# All other lines are printed as they are print;
}' connection.ovpn </source>
And inline to files: <syntaxhighlight lang=bash> $ nawk ' /^<(tls-auth|ca|dh|cert|key)>/ {
type=$1; gsub(/[<>]/,"",type); file=type".pem"; print type,file; print ""> file; while(getline) { if($0 == "</"type">"){ fflush(file); close(file); break; } print $0>>file;} next;
} {
# All other lines are printed as they are print $0;
}' connection.ovpn > connection_.ovpn </source>