[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 :
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.