OpenVPN Inline Certs: Difference between revisions

From Lolly's Wiki
Jump to navigationJump to search
m (Text replacement - "<source" to "<syntaxhighlight")
m (Text replacement - "[[Kategorie:" to "[[Category:")
Line 1: Line 1:
[[Kategorie:OpenVPN]]
[[Category:OpenVPN]]
To get an OpenVPN-Configuration in one file you can inline all referred files like this:
To get an OpenVPN-Configuration in one file you can inline all referred files like this:
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>

Revision as of 22:24, 25 November 2021

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>