Skip to content
Snippets Groups Projects
Yannick Perret's avatar
Yannick Perret authored
9fe42c4f
Name Last commit Last update
README.md
p12.php
tools.php
vp12.php

Ce code a pour but la conversion d'une paire « clé privée » et « certificat PEM » en un certificat format P12 (PKCS12), en gérant les mots de passe.

Pourquoi ?

Parce que les certificats reçus via DigiCert (certificats personnels) sont au format PEM, et que pour un import dans un navigateur ou un gestionnaire de mail il faut un format P12, et surtout que la conversion nécessite de lancer des commandes openssl dans un terminal (difficile pour les personnes sous windows, et compliqué pour celles n'ayant pas l'habitude de la ligne de commande).

Et parce qu'il vaut mieux passer par un outil « corporate » que par un quelconque outil trouvé sur le WEB, car il faut donner sa clé privée.

Comment ?

L'API WEB est codée en PHP. Elle utilise l'extension openssl de PHP. Les saisies (certificat à convertir) passent par un upload (petit script JS). La récupération passe par un téléchargement. Afin d'éviter d'avoir à stocker le résultat (certificat P12) sur le serveur le téléchargement se fait à partir des données du script sans passer par le disque (script JS).

Contenu

  • tools.php : outils. error() génère une page WEB d'erreur, avec le message indiqué (et quitte). entete() génère une entête HTML.
  • p12.php : formulaire de saisie des informations. Le formulaire demande le mot de passe, la clé privée et le certificat, et effectue un POST vers vp12.php
  • vp12.php : valide les informations reçues, puis effectue les conversions vers le format P12 en utilisant l'extension openssl. Au final propose de télécharger le résultat