22
0
Fork 0
wiki/HowtoShellpki.md

71 lines
1.9 KiB
Markdown
Raw Normal View History

2017-11-13 01:24:49 +01:00
---
categories: vpn sysadmin security network
title: Howto shellpki
...
[shellpki](https://forge.evolix.org/projects/shellpki/repository) est un script Shell pour gérer une petite [PKI](https://fr.wikipedia.org/wiki/Infrastructure_%C3%A0_cl%C3%A9s_publiques) en ligne de commandes.
## Installation
Cloner le repository dans le répertoire de votre choix, et créez un répertoire pour publier les certificats. Par exemple :
~~~
# git clone https://forge.evolix.org/shellpki.git /usr/local/shellpki
# mkdir /var/www/shellpki
~~~
Ajuster le nom des répertoires choisis dans le script `shellpki.sh` :
~~~
PREFIX=/usr/local/shellpki
WWWDIR=/var/www/shellpki
~~~
Éditer les paramètres de la section `[ req_distinguished_name ]` du fichier `openssl.cnf`, notamment :
* `countryName_default` : mettre le code de votre pays
* `stateOrProvinceName_default` : mettre votre état (pour la France, le numéro de département par exemple)
* `localityName_default` : mettre le nom de votre ville
* `0.organizationName_default` : mettre le nom de votres structure
Enfin, initialiser la PKI avec :
~~~
# sh shellpki.sh init
~~~
Confirmer l'initialisation, et choisir la passphrase qui sera demandée à chaque création de nouveaux certificats, puis le _Common Name_ du certificat de l'autorité de certification.
## Créer un nouveau certificat
Pour créer une nouvelle clé privée et un certificat associé signé par la PKI :
~~~
# sh shellpki.sh create
~~~
Il faudra ensuite choisir un _Common Name_ unique et entrer la passphrase de la PKI.
## Renouveller un certificat
Il faut le révoquer, puis en recréer un :
~~~
# sh shellpki.sh revoke
# sh shellpki.sh create
~~~
2019-09-18 10:34:23 +02:00
## Troubleshooting
2017-11-13 01:24:49 +01:00
2019-09-18 10:34:23 +02:00
### TXT_DB error
À la création d'un certificat, si nous avons l'erreur suivante :
~~~
failed to update database
TXT_DB error number 2
~~~
Il faut éditer le fichier /etc/openvpn/ssl/ca/index.txt et supprimer la ligne concernant le CN qui pose problème.