
# Elenca i certificati di firma IdP di una connessione

`GET /v1/connections/{connection_id}/certificates` · permesso `connections:read`

Restituisce i certificati di firma attivi del provider di identità per una connessione SAML enterprise: ID, impronta SHA-256, periodo di validità e origine. Il certificato stesso e il suo subject (che può contenere il nome o l'indirizzo e-mail di una persona) non vengono restituiti. Una connessione ha al massimo 3 certificati attivi, quindi l'elenco non è paginato: non esistono i parametri `limit`, `after`, `before` o `order` e `list_metadata` non contiene cursori. I certificati eliminati non vengono elencati. Le letture non vengono tracciate.

## Richiesta

| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `connection_id` | percorso | sì | ID della connessione SAML enterprise (`conn_…`). |

## Risposta

`200 OK`. Una connessione SAML senza configurazione SAML restituisce un elenco vuoto.

```json
{
  "data": [
    {"id": "conncert_01j9xq2m4n6p8r0s2t4v6w8y0a", "sha256_fingerprint": "3b0c…", "not_before": "2026-01-01T00:00:00Z", "not_after": "2028-01-01T00:00:00Z", "source": "metadata"}
  ],
  "list_metadata": {"before": null, "after": null}
}
```

| Campo | Descrizione |
|---|---|
| `id` | ID del certificato (`conncert_…`); usalo per [eliminare il certificato](delete.md). |
| `sha256_fingerprint` | SHA-256 esadecimale in minuscolo della codifica DER. Confrontalo con l'impronta mostrata dal tuo provider di identità. |
| `not_before`, `not_after` | Periodo di validità. Un certificato fuori da questo periodo non verifica alcuna firma. |
| `source` | `metadata`: aggiunto da un aggiornamento dell'URL dei metadati; `manual`: caricato a mano oppure ricavato da un [documento di metadati importato](../connections/import-metadata.md). |

## Errori

| HTTP | code | Quando |
|---|---|---|
| 404 | `not_found` | La connessione non esiste in questo ambiente o non è una connessione enterprise. |
| 409 | `conflict` | La connessione non è una connessione SAML. |
| 401 | `unauthenticated` | La credenziale è mancante, non valida o revocata. |
| 403 | `insufficient_permissions` | La credenziale non ha il permesso richiesto. |
| 429 | `rate_limited` | È stato superato il limite di frequenza; riprova dopo il periodo indicato da `Retry-After`. |
| 503 | `service_unavailable` | Una dipendenza è temporaneamente non disponibile; riprova dopo il periodo indicato da `Retry-After`. |

## Esempio

```bash
curl "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/certificates" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

```bash
keenauth connections certificates list conn_01j9xp6q0r1s5t7v9w1x3y5z7b
```
