> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.6mm.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.6mm.com/_mcp/server.

# Agent SDK Segreti e HMAC Firma

Agent SDK richieste vengono autenticate con un partner API segreto. Tieni quel segreto all'interno di un servizio backend affidabile e lascia che il SDK generi campi di firma ogni volta che possibile.

> **Due protocolli di firma**
>
> Agent SDK firma utilizza campi di richiesta ordinati, un timestamp basato sui secondi e un nonce. Le richieste di API Sviluppatore Diretto utilizzano il processo separato descritto in [Request Signing](/it/developer-api/request-signing). Non riutilizzare un formato di payload per l'altro.

<h2 id="signing-rule">
  Regola di firma
</h2>

Per Agent SDK richieste:

1. Escludere il campo `sign` .
2. Ometti i campi con valori vuoti.
3. Ordina i nomi dei campi rimanenti in ASCII ordine.
4. Unisci i campi come `k=v&k2=v2`.
5. Calcola la firma esadecimale HMAC-SHA256 con `apiSecret`.

Il SDK dovrebbe costruire questo valore dagli stessi dati che invia. Cambiare un campo firmato dopo la generazione della firma causa il fallimento della verifica.

<h2 id="sdk-managed-fields">
  SDK- campi gestiti
</h2>

| Campo     | Fonte                  | Descrizione                                           |
| --------- | ---------------------- | ----------------------------------------------------- |
| agentCode | SDK configurazione     | Codice agente partner.                                |
| Timestamp | Ora attuale del server | Timestamp Unix in pochi secondi.                      |
| nonce     | Valore casuale sicuro  | Stringa casuale di protezione contro la riproduzione. |
| Segno     | HMAC-SHA256            | Richiedo firma.                                       |
| Valuta    | Valuta predefinita     | Usato quando trasferisco/account API omette valuta.   |

<h2 id="secret-storage">
  Archiviazione segreta
</h2>

* Carica `apiSecret` da un gestore di segreti backend o da una configurazione a runtime protetta.
* Non inserire mai il segreto in pacchetti frontend, app mobili, client desktop, screenshot o ticket di supporto.
* Mantenere separate le credenziali per sviluppo, staging e produzione.
* Limitare l'accesso ai servizi e agli operatori che ne hanno bisogno.
* Oscurare firme di richiesta, valori di autorizzazione e segreti dai log.
* Revocare e sostituire le credenziali quando si sospetta esposizione.

<h2 id="clock-and-replay-protection">
  Protezione contro il cronometro e la ripresa
</h2>

Il SDK include `timestamp` e `nonce` per ridurre il rischio di riproduzione. Mantieni sincronizzati gli orologi backend e non riutilizzare un nonce costruito manualmente. Se la validazione della firma fallisce, conferma il segreto configurato, l'ora del server, i campi serializzati e l'ambiente prima di riprovare.

<h2 id="integration-checklist">
  Checklist per l'integrazione
</h2>

| Controllo               | Risultato atteso                                                            |
| ----------------------- | --------------------------------------------------------------------------- |
| Luogo segreto           | Archiviazione segreta solo backend.                                         |
| Ambiente                | Il URL base e la credenziale appartengono allo stesso ambiente.             |
| Manipolazione sul campo | SDK genera `timestamp`, `nonce`e `sign`.                                    |
| Disboscamento           | Gli ID aziendali rimangono visibili mentre le credenziali vengono oscurate. |
| Rotazione               | Il titolo dell'abilitazione e il processo di sostituzione sono documentati. |

<h2 id="related-security-docs">
  Documenti di sicurezza correlati
</h2>

#### [Agent SDK Panoramica](/it/sdk/agent-sdk/overview)

Rivedi il flusso di integrazione backend raccomandato.

#### [Webhook e idempotenza](/it/sdk/security/webhooks-idempotency)

Verifica le firme di callback e evita l'elaborazione duplicata.

#### [SDK Risoluzione dei problemi](/it/sdk/security/troubleshooting)

Diagnostica problemi di firma, orologio, ambiente e richieste.