Créer le fichier PKCS#12 / PFX
Une fois le certificat reçu, il faut créer un ensemble qui contient la clé privée et le certificat. Il sera utilisé par votre application pour communiquer avec notre service. Cet ensemble s’appelle souvent un fichier PKCS#12, P12 ou PFX.
Création
openssl pkcs12 -export \
-inkey excelid-prod.key -in excelid-prod.crt \
-out excelid-prod.p12
- OpenSSL demande le mot de passe de la clé privée : c’est celui défini à la création de la demande.
- Il demande ensuite un mot de passe pour le fichier
.p12. Votre application en aura besoin pour l’ouvrir. - Le fichier
excelid-prod.p12est écrit dans le dossier courant.
Utiliser le fichier dans votre application
curl
curl --cert-type P12 --cert excelid-prod.p12:"$P12_PASSWORD" \
-H "Content-Type: application/json" \
-d '{"orderRef": "…"}' \
https://<adresse de production>/v1/collect
Node.js
import https from 'node:https';
import { readFileSync } from 'node:fs';
const agent = new https.Agent({
pfx: readFileSync('excelid-prod.p12'),
passphrase: process.env.P12_PASSWORD,
});
export function excelid(path, body) {
return new Promise((resolve, reject) => {
const req = https.request(
{ host: process.env.EXCELID_HOST, path, method: 'POST', agent,
headers: { 'Content-Type': 'application/json' } },
(res) => {
let data = '';
res.on('data', (c) => (data += c));
res.on('end', () => resolve({ status: res.statusCode, body: JSON.parse(data || '{}') }));
});
req.on('error', reject);
req.end(JSON.stringify(body));
});
}
Renouvellement
Un certificat a une durée de validité limitée, indiquée dans le fichier. Préparez le suivant avant l’échéance : nouvelle demande, installation du nouveau certificat, puis retrait de l’ancien. Ne gardez jamais un certificat expiré en service.
Gardez en lieu sûr le fichier de la clé privée et les mots de passe. Un certificat compromis doit être révoqué : prévenez AI-KING GROUP sans attendre.