Pour commencer

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
  1. OpenSSL demande le mot de passe de la clé privée : c’est celui défini à la création de la demande.
  2. Il demande ensuite un mot de passe pour le fichier .p12. Votre application en aura besoin pour l’ouvrir.
  3. Le fichier excelid-prod.p12 est é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.