web-dev-qa-db-fra.com

convertir le fichier .ovpn en ces 3 fichiers: ca.crt, client.crt, client.key

vpnbook.com offre un service gratuit openVPN. C'est l'un de leurs fichiers: http://paste.ubuntu.com/7231382/ avec le nom vpnbook-uk1-tcp80.ovpn.

Je veux le convertir en 3 fichiers pour qu'il soit utilisable dans network-manager-openvpn:

enter image description here

5
mini

J'ai créé un script ici pour automatiser la récupération du mot de passe et des fichiers Zip sur des sites Web vpn tels que vpnbook.com , en extrayant les noms ca, cert et key à partir des fichiers ovpn, et mettre à jour les fichiers opvn pour que les certificats soient importés pour vous.

4
ryry1985

Copiez le texte entre <ca> et </ca>, collez-le dans un éditeur de texte et enregistrez-le sous le nom ca.crt. Le texte entre <cert> et </cert> doit être enregistré en tant que client.crt et le texte entre <key> et </key> doit être enregistré en tant que client.key.


Vous devez définir certaines options avancées conformément au fichier de configuration. Je ne pouvais pas me connecter aux serveurs utilisant le port 80, mais le port 443 fonctionne pour moi. C'est ce que j'ai fait:

enter image description hereenter image description hereenter image description here

4
Eric Carvalho

comme tous les fichiers ovpn sont tous de simples fichiers de texte brut, vous pouvez créer un script python avec la logique suivante:

(1) lire le contenu du fichier texte ovpn;

(2) saisir le texte pertinent entre les balises en utilisant une expression régulière;

def grabBetweenTag(tagName, fileContents):

    betweentag = re.findall('<'+tagName+'>.*\n(^.*$.*\n[\S\n]+.*$\n)</'+tagName+'>', fileContents, re.MULTILINE)

    return betweentag[0]

grabBetweenTag('ca', fileContents)
grabBetweenTag('cert', fileContents)
grabBetweenTag('key', fileContents)

(3) copier ce texte dans un nouveau fichier texte;

(4) Le mappage entre les balises et le nouveau fichier texte à créer ressemble à ceci:

  • Tout le texte entre '<ca>' et '</ ca>' sera utilisé pour créer '** ca.crt';
  • Tout le texte entre '<cert>' et '</ cert>' sera utilisé pour créer '** client.crt';
  • Tout le texte entre '<key>' et '</ key>' sera utilisé pour créer '** client.key'.

J'ai créé ceci référentiel comme exemple d'implémentation de cette logique pour récupérer tous les fichiers ovpn et créer des certificats

* .ovpn -> * -ca.crt, * -client.crt, * -client.key

0
Jansen Simanullang