OpenVPN Inline Certs

From Lolly's Wiki
Revision as of 21:24, 25 November 2021 by Lollypop (talk | contribs) (Text replacement - "[[Kategorie:" to "[[Category:")
Jump to navigationJump to search

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>