---
# System prepended metadata

title: Documentation de la PKI

---

# Documentation de la PKI


## Pré-requis

- L'exécution du script nécessite d'avoir d'openSSL d'installé sur le PC.
- L'éxécution du script s'appuie sur un fichier de configuration nommé `openssl.conf`. Il doit etre situé dans le même dossier que `mini-pki.ps1`.
- Le script doit être lancé depuis le dossier où il se trouve.

## Utilisation du script

### Dans un powershell

`./mini-pki.ps1 <command> [<arg1> [<arg2>]]`

Exemples:
- `./mini-pki.ps1 create-ca`
- `./mini-pki.ps1 user-req toto.key toto.csr`

## Dans un invité de commande

`powershell /f mini-pki.ps1 <command> <arg1> <arg2>`

Exemples:
- `powershell /f mini-pki.ps1 create-ca`
- `powershell /f mini-pki.ps1 user-req toto.key toto.csr`


## Fonctions de la PKI

### create-ca

- Crée l'arborescence de fichiers nécessaire au bon fonctionnement de la PKI.
- Crée les clés pour la CA ainsi que son certificat.

### user-req

- Prend deux paramètres: `name.key` et `name.csr`
- Crée la clé privée et la demande de certificat pour l'utilisateur `name`.
- La clé privée sera stockée dans `miniCA/private/name.key` et la demande de certificat dans `miniCA/csr/name.csr`

### user-sign

- Prend deux paramètres: `name.csr` et `name.crt`. Le premier paramètre est la demande de certificat créée avec la commande `user-req`.
- Crée le certificat pour le user `name`. Met dans `miniCA/cert/name.crt` le certificat et dans `miniCA/private/01.pem` le certificat séquestré. `01` correspond au `serial number`.

### revoke

- Prend deux paramètres, le chemin ou certificat a révoquer et son numéro.
- Revoque le certificat.

### gencrl

- Génère la CRL.
- Vous pouvez lire le certificat de la CRL en éxecutant: `openssl crl -in miniCA\public\crl.pem -noout -text` 

### genoscp

- Génère la clé privée de l'OCSP dans `miniCA/pricate/ocsp.pem`, la demande de certificat dans `miniCA/csr/oscp.csr` et le certificat dans `miniCA/cert/ocsp.pem`.
- Démarre le serveur OCSP.


Pour requêter le serveur OCSP, éxécutez, dans un autre terminal, cette commande:  
`openssl ocsp -CAfile miniCA/cert/cert_ca.crt -issuer miniCA/cert/cert_ca.crt -cert miniCA\cert\revokated_cert.crt -url http://127.0.0.1:8888 -resp_text -noverify`
- `revokated_cert` correspond au certificat révoqué.


