61 lines
1.6 KiB
Markdown
61 lines
1.6 KiB
Markdown
---
|
|
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
|
|
~~~
|
|
|
|
|