openvpn-config-splitter
Splits OpenVPN (.ovpn) files into separate files for private key, user+ca certificates and tls-auth key, for use with network-manager in debian/ubuntu.
Installation
openvpn-config-splitter can be installed using npm:
npm install -g openvpn-config-splitter
Usage
As a CLI-tool
$ npm install -g openvpn-config-splitter
$ ovpnsplit path/to/some/config.ovpn
$ ls path/to/some
ca.crt client.key client.ovpn client.split.ovpn ta.key user.crt
As a library
var fs = require('fs'),
configPath = '/some/path/to',
splitter = require('openvpn-config-splitter');
var paths = {
'caCert': configPath + '/openvpn-ca.crt',
'userCert': configPath + '/openvpn-user.crt',
'privateKey': configPath + '/openvpn-private.key',
'tlsAuth': configPath + '/openvpn-tls.key'
};
fs.readFile(configPath + '/config.ovpn', function(err, originalConfig) {
if (err) {
console.error('Could not read file (' + err.path + ')');
process.exit(1);
}
splitter.split(originalConfig, paths, function(err, parts, missing) {
if (err) {
console.error(err);
process.exit(1);
}
splitter.writeToFiles(parts, paths, function(err) {
if (err) {
console.log(err);
process.exit(1);
}
console.log('Hooray, we split the files and wrote them to disk!');
});
});
});