View a markdown version of this page

Metodi di supporto per TLS reciproco - Amazon CloudFront

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

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

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

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

pemCertFormatInfocampi:

Per Cloudfront-Viewer-Cert-PEM:

  • La funzionalità certHeader sostituisce -----BEGIN CERTIFICATE-----.

  • La funzionalità certFooter sostituisce -----END CERTIFICATE-----.

  • certEndMarkerimposta 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 :.

  • certEndMarkerimposta una stringa personalizzata dopo CertFooter.

  • keepNewlinesInCertData(impostazione predefinita:false) conserva le nuove righe nei dati base64 quando è vero.

cf.mtls.combine PemHeaders

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 } });

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