L'infrastructure de clefs publiques

La société Papin Énergies est une multinationale de production d'électricité, de biogaz et d'hydrogène. Son infrastructure informatique est très grande et elle souhaite centraliser et automatiser la distribution des certificats TLS utilisés dans ses serveurs internes. Vous devrez mettre en place une infrastructure à clefs publiques. Les certificats devront utiliser le chiffrement RSA 2048 bits et être valables pendant 730 jours.

Pour faciliter la distribution des certificats aux projets, une API devra être développée sur votre serveur. Cette API recevra en paramètre GET les éléments suivants :

Champ GETValeur attendue
countryCode de pays (exemple : FR)
stateRégion (exemple : Bourgogne)
localityVille (exemple : Auxerre)
ouEntité de la société (exemple : Annuaire)
domainSous-domaine pour lequel le certificat est généré (exemple : annuaire.papinenergies.fr)

Le certificat doit être retourné dans le corps de la page, avec les en-tête adaptées :

GET /?country=FR&state=Bourgogne&locality=Auxerre&ou=Annuaire&domain=annuaire.papinenergies.fr

HTTP/1.0 201 Created
Content-Type: application/x-x509-user-cert
-----BEGIN CERTIFICATE-----
<contenu du certificat>
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
<contenu de la clef privée générée>
-----END PRIVATE KEY-----

Lors de la génération du certificat, le champ Organization Name doit être "Papin Energies" et le champ domain doit être un sous-domaine du domaine "papinenergies.fr". Si le domaine renseigné lors de l'appel de l'API n'est pas conforme, l'API doit retourner l'erreur 403 Forbidden.

L'accès aux machines virtuelles est réservé aux étudiants de l'IUT R&T Auxerre.