> ## 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.

# Configuración del par de claves ES256

> Genere, verifique, proteja, registre y rote el par de claves ES256 utilizado para el acceso de máquina a máquina a la API de Credit Benchmark.

Al final, dispondrá de dos archivos:

* `es256-private.pem`: almacenamiento: manténgalo en el equipo que realiza las llamadas a nuestra API. Nunca lo comparta por correo electrónico, chat, tickets ni repositorios de código.
* `es256-public.pem`: envíenos estos datos para completar la incorporación.

## Antes de comenzar

Necesitará **OpenSSL 3.0 o una versión posterior**. Compruébelo con:

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

* **Windows:** instálelo mediante winget, Chocolatey o Git para Windows.
* **macOS:** es posible que la versión integrada sea LibreSSL. Ejecute `brew install openssl` si el resultado no muestra OpenSSL 3 o posterior.

Si su terminal le indica que `openssl` si el comando no se reconoce, instálelo y abra una nueva ventana de terminal.

> [!NOTE]
>
> Genere las claves en el equipo que vaya a llamar a nuestra API, ya sea un servidor o un ordenador portátil, de modo que la clave privada nunca tenga que copiarse en otro lugar.

## Paso 1: Generar las claves

Ejecute estos comandos en PowerShell, el símbolo del sistema, bash o zsh. El primero crea la clave privada (EC P-256, formato PKCS#8). El segundo deriva la clave pública correspondiente.

```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
```

## Paso 2: Verifique las claves

Ejecute estos comandos antes de enviar nada.

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

Compruebe que:

* El primer comando muestra `Key is valid`.
* El segundo muestra `ASN1 OID: prime256v1` y `NIST CURVE: P-256`.
* `es256-private.pem` comienza por `-----BEGIN PRIVATE KEY-----`.
* `es256-public.pem` comienza por `-----BEGIN PUBLIC KEY-----`.

Si la clave privada comienza por `BEGIN EC PRIVATE KEY`, conviértalo a PKCS#8:

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

## Paso 3: Proteja la clave privada

> [!WARNING]
>
> Cualquier persona que posea `es256-private.pem` puede solicitar tokens en nombre de su organización. Trátela como si fuera una contraseña de producción.

Restrinja el acceso a la cuenta que ejecuta su integración:

```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 producción, almacénelo en un gestor de secretos como Azure Key Vault, AWS Secrets Manager o HashiCorp Vault.
* Nunca la envíe por correo electrónico, la adjunte a un ticket, la pegue en un chat ni la suba a un repositorio. Si realiza pruebas con Postman, guárdela en el Postman Vault o utilícela únicamente como valor actual.
* Si sospecha de una filtración, notifíquenos de inmediato.

## Paso 4: Envíenos la clave pública

Envíe únicamente `es256-public.pem` a su persona de contacto en Credit Benchmark. Incluya:

* Nombre de su organización
* El entorno (Sandbox o Producción)
* Un contacto técnico
* Los ámbitos que necesita
* La huella digital de la clave

Utilizamos la huella digital para confirmar que la clave no se ha alterado durante la transmisión. Cálcule la huella digital con:

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

Utilice un par de claves distinto para cada entorno. Antes de enviarlo, compruebe que el archivo adjunto `es256-public.pem` y que no se haya adjuntado ningún archivo de clave privada. Es posible que llamemos a su contacto técnico para que nos repita la huella digital antes de activar la clave.

Una vez registrada la clave, le enviaremos su paquete de incorporación. Consulte [Lo que recibirá a cambio](/api-reference/authentication/overview#what-you-receive-back).

## Rotación de claves

Sustituya su par de claves al menos cada 12 meses, o de inmediato si existe la posibilidad de que la clave privada haya quedado expuesta.

**1. Genere un nuevo par**

Repita los pasos 1 y 2 utilizando nuevos nombres de archivo, como `es256-private-2027.pem`.

**2. Envíe la nueva clave pública**

Envíelo tal y como se indica en el paso 4, con el asunto `M2M API key rotation - [Your organisation name] - [Environment]` y su actual `OAuthClientId`.

**3. Reciba un nuevo KID**

Le responderemos con una nueva `KID`. Su `OAuthClientId` no cambia.

**4. Complete la transición**

Cambie su integración a la nueva clave privada y `KID`, y a continuación, infórmenos. Revocaremos la antigua `KID` y elimine de forma segura la clave privada anterior.

> [!WARNING]
>
> En caso de sospecha de fuga, omita el periodo de solapamiento y solicítenos que revocemos la clave antigua de inmediato.


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