> ## Documentation Index
> Fetch the complete documentation index at: https://docs.creditbenchmark.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration d’une paire de clés ES256

> Générez, vérifiez, protégez, enregistrez et renouvelez la paire de clés ES256 utilisée pour l’accès machine-à-machine à l’API Credit Benchmark.

Vous disposerez ainsi de deux fichiers :

* `es256-private.pem`: conservez-le sur la machine qui appelle notre API. Ne le partagez jamais par e-mail, chat, ticket ou dépôt de code.
* `es256-public.pem`: envoyez-nous ceci pour votre inscription.

## Avant de commencer

Vous devez disposer **d’OpenSSL 3.0 ou d’une version ultérieure**. Vérifiez à l’aide de :

```bash theme={null}
openssl version
```

* **Windows :** installez-le via Winget, Chocolatey ou Git pour Windows.
* **macOS :** la version intégrée peut être LibreSSL. Exécutez `brew install openssl` si la sortie ne mentionne pas OpenSSL 3 ou une version ultérieure.

Si votre terminal signale que `openssl` n’est pas reconnu, installez-le et ouvrez une nouvelle fenêtre de terminal.

> [!NOTE]
>
> Générez les clés sur la machine qui appellera notre API, qu’il s’agisse d’un serveur ou d’un ordinateur portable, afin que la clé privée n’ait jamais à être copiée ailleurs.

## Étape 1 : Générer les clés

Exécutez ces commandes dans PowerShell, l’invite de commande, bash ou zsh. La première crée la clé privée (EC P-256, format PKCS#8). La seconde génère la clé publique correspondante.

```bash theme={null}
openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 -pkeyopt ec_param_enc:named_curve -out es256-private.pem
openssl pkey -in es256-private.pem -pubout -out es256-public.pem
```

## Étape 2 : Vérifier les clés

Exécutez ces commandes avant d’envoyer quoi que ce soit.

```bash theme={null}
openssl pkey -in es256-private.pem -check -noout
openssl pkey -pubin -in es256-public.pem -text -noout
```

Vérifiez que :

* La première commande affiche `Key is valid`.
* Le second affiche `ASN1 OID: prime256v1` et `NIST CURVE: P-256`.
* `es256-private.pem` commence par `-----BEGIN PRIVATE KEY-----`.
* `es256-public.pem` commence par `-----BEGIN PUBLIC KEY-----`.

Si la clé privée commence par `BEGIN EC PRIVATE KEY`, convertissez-la au format PKCS#8 :

```bash theme={null}
openssl pkcs8 -topk8 -nocrypt -in old-key.pem -out es256-private.pem
```

## Étape 3 : Protégez la clé privée

> [!WARNING]
>
> Toute personne en possession de `es256-private.pem` peut demander des jetons au nom de votre organisation. Traitez ce fichier comme un mot de passe de production.

Limitez l’accès au compte sur lequel s’exécute votre intégration :

```bash Linux or macOS theme={null}
chmod 600 es256-private.pem
```

```powershell Windows PowerShell theme={null}
icacls es256-private.pem /inheritance:r /grant:r "$($env:USERNAME):R"
```

* En production, stockez-la dans un gestionnaire de secrets tel qu’Azure Key Vault, AWS Secrets Manager ou HashiCorp Vault.
* Ne l’envoyez jamais par e-mail, ne la joignez jamais à un ticket, ne la collez jamais dans un chat et ne la commitez jamais dans un dépôt. Si vous effectuez des tests avec Postman, conservez-la uniquement dans le Postman Vault ou en tant que valeur actuelle.
* En cas de soupçon de fuite, prévenez-nous immédiatement.

## Étape 4 : Envoyez-nous la clé publique

Envoyez uniquement `es256-public.pem` à votre interlocuteur Credit Benchmark. Veuillez inclure :

* Nom de votre organisation
* L’environnement (Sandbox ou Production)
* Un interlocuteur technique
* Les périmètres dont vous avez besoin
* L’empreinte digitale de la clé

Nous utilisons l’empreinte numérique pour confirmer que la clé n’a pas été altérée pendant le transfert. Calculez-la à l’aide de :

```bash theme={null}
openssl pkey -pubin -in es256-public.pem -outform DER -out es256-public.der
openssl dgst -sha256 es256-public.der
```

Utilisez une paire de clés distincte pour chaque environnement. Avant l’envoi, vérifiez que la pièce jointe est `es256-public.pem` et qu’aucun fichier de clé privée n’y est joint. Nous pouvons contacter votre interlocuteur technique pour lui demander de nous réciter l’empreinte digitale avant d’activer la clé.

Une fois la clé enregistrée, nous vous envoyons votre dossier d’intégration. Consultez [Ce que vous recevez en retour](/api-reference/authentication/overview#what-you-receive-back).

## Rotation des clés

Remplacez votre paire de clés au moins tous les 12 mois, ou immédiatement si la clé privée a pu être compromise.

**1. Générez une nouvelle paire**

Répétez les étapes 1 et 2 en utilisant de nouveaux noms de fichiers, tels que `es256-private-2027.pem`.

**2. Envoyez la nouvelle clé publique**

Envoyez-le comme indiqué à l’étape 4, en indiquant comme objet `M2M API key rotation - [Your organisation name] - [Environment]` et votre adresse existante `OAuthClientId`.

**3. Recevez un nouveau KID**

Nous vous répondrons en vous fournissant une nouvelle `KID`. Votre `OAuthClientId` ne change pas.

**4. Effectuez la transition**

Faites passer votre intégration à la nouvelle clé privée et `KID`, puis prévenez-nous. Nous révoquons l’ancienne `KID` et vous supprimez l’ancienne clé privée en toute sécurité.

> [!WARNING]
>
> En cas de suspicion de fuite, ignorez la période de chevauchement et demandez-nous de révoquer immédiatement l’ancienne clé.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.