

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Metodi di supporto per TLS reciproco
<a name="mtls-helper-methods"></a>

CloudFront fornisce le funzioni m TLS-specific helper nello spazio dei `cf.mtls` nomi per le funzioni di richiesta del visualizzatore. Queste funzioni rinominano, riformattano o combinano le intestazioni dei certificati client prima di inoltrare la richiesta all'origine.

```
import cf from "cloudfront";
```

## `cf.mtls.rename ClientCertHeaders`
<a name="mtls-rename-client-cert-headers"></a>

Rinomina le intestazioni dei metadati dei certificati in nomi di intestazione personalizzati.

```
cf.mtls.renameClientCertHeaders({
    "CloudFront-Viewer-Cert-Pem": "X-Client-Cert",
    "CloudFront-Viewer-Cert-Serial-Number": "X-Client-Cert-Serial",
    "CloudFront-Viewer-Cert-Issuer": "X-Client-Cert-Issuer",
});
```

Intestazioni di origine consentite:
+ `CloudFront-Viewer-Cert-Pem`
+ `CloudFront-Viewer-Cert-Serial-Number`
+ `CloudFront-Viewer-Cert-Issuer`
+ `CloudFront-Viewer-Cert-Subject`
+ `CloudFront-Viewer-Cert-Validity`
+ `CloudFront-Viewer-Cert-Present`
+ `CloudFront-Viewer-Cert-Sha256`
+ `Client-Cert`
+ `Client-Cert-Chain`

## `cf.mtls.rename PemHeaders`
<a name="mtls-rename-pem-headers"></a>

Rinomina le intestazioni dei certificati PEM e, facoltativamente, riformatta la codifica dei certificati.

```
cf.mtls.renamePemHeaders({
    "Client-Cert": {
        "newHeaderName": "X-Leaf-Cert",
        "pemCertFormatInfo": {
            "certHeader": "-----CUSTOM HEADER-----",
            "certFooter": "-----CUSTOM FOOTER-----",
            "certEndMarker": "",
            "keepNewlinesInCertData": true
        }
    },
    "Client-Cert-Chain": {
        "newHeaderName": "X-Intermediate-Certs",
        "pemCertFormatInfo": {
            "certHeader": "-----CUSTOM HEADER-----",
            "certFooter": "-----CUSTOM FOOTER-----",
            "certEndMarker": "",
            "keepNewlinesInCertData": true
        }
    }
});
```

Intestazioni di origine consentite:
+ In modalità passthrough:, `Client-Cert` `Client-Cert-Chain`
+ In required/optional modalità: `Cloudfront-Viewer-Cert-PEM`

**`pemCertFormatInfo`campi:**

Per `Cloudfront-Viewer-Cert-PEM`:
+ La funzionalità `certHeader` sostituisce `-----BEGIN CERTIFICATE-----`.
+ La funzionalità `certFooter` sostituisce `-----END CERTIFICATE-----`.
+ `certEndMarker`imposta una stringa personalizzata dopo CertFooter.
+ `keepNewlinesInCertData`(impostazione predefinita:`true`) conserva le nuove righe nei dati base64 quando è vero.

Per `Client-Cert` e `Client-Cert-Chain`:
+ La funzionalità `certHeader` sostituisce `:`.
+ La funzionalità `certFooter` sostituisce `:`.
+ `certEndMarker`imposta una stringa personalizzata dopo CertFooter.
+ `keepNewlinesInCertData`(impostazione predefinita:`false`) conserva le nuove righe nei dati base64 quando è vero.

## `cf.mtls.combine PemHeaders`
<a name="mtls-combine-pem-headers"></a>

Combina `Client-Cert` e `Client-Cert-Chain` in un'unica intestazione contenente l'intera catena di certificati.

```
cf.mtls.combinePemHeaders({
    "newHeaderName": "X-Full-Chain",
    "pemCertFormatInfo": {
        "certHeader": "-----BEGIN CERTIFICATE-----",
        "certFooter": "-----END CERTIFICATE-----",
        "certEndMarker": "\n",
        "keepNewlinesInCertData": false
    }
});
```

`certEndMarker`imposta il delimitatore tra i certificati.

**Nota**  
Queste funzioni di supporto possono essere utilizzate in tutte le modalità mTLS (obbligatoria, opzionale e passthrough). Tuttavia, ha effetto `cf.mtls.combinePemHeaders` solo in modalità passthrough: nelle modalità obbligatorie e opzionali, le `Client-Cert-Chain` intestazioni `Client-Cert` and non sono presenti, quindi la funzione non è operativa.
Se `cf.mtls.*` i metodi e `cf.updateRequestOrigin()` il `customHeaders` target hanno lo stesso nome di intestazione, CloudFront restituisce un errore 502.
In modalità Passthrough, CloudFront elimina le `Client-Cert-Chain` intestazioni `Client-Cert` o le intestazioni in entrata e le aggiunge nuovamente dal certificato client effettivo.
CloudFront non presenta il contenuto completo del certificato PEM non elaborato in nessuna funzione edge.