Hai installato il certificato, compare in Accesso Portachiavi con un nome descrittivo e il selettore d’identità del client VPN resta vuoto. Il client non cerca un certificato. Cerca un’identità: un certificato abbinato alla chiave privata che può dimostrarne il possesso, archiviato dove al client è consentito leggerlo.

Ciò che il client chiede è un’identità

Il framework di sicurezza di Apple tratta un certificato e un’identità come oggetti diversi. Un certificato è un dato pubblico. Un’identità è quel certificato più la sua chiave privata, e solo l’identità può completare una sfida. Un certificato di CA attendibile, invece, consente a un client di valutare un emittente; non rende la macchina titolare di una credenziale client emessa.

ItemWhat it can doWhat it cannot do
CA or server certificateValidate the gateway's chainAuthenticate this client
Client certificate without keyNothing for authenticationProve possession of anything
Identity (cert plus key)Answer the authentication challengeGuarantee the gateway accepts it

Per questo importare un file .cer non produce mai un’identità client utilizzabile. Il file contiene solo materiale pubblico, e nessuna rinomina né alcuna attendibilità lo trasforma in una coppia di chiavi.

Tre motivi per cui il selettore resta vuoto

Il primo è una chiave privata mancante, il che significa che il processo di registrazione o di importazione non ne ha fornita una. Il secondo è un archivio che il client non consulta: un profilo con ambito utente cerca nel portachiavi dell’utente, e un elemento inserito in un archivio di sistema può essergli invisibile. Il terzo è una discrepanza di scopo o di criterio, in cui il certificato esiste ma non è valido per l’autenticazione client secondo le regole della distribuzione.

security find-identity -v -p ssl-client

Questo elenca le identità che il sistema considera valide per l’autenticazione client. Se il conteggio è zero, il problema è a monte del client VPN e nessuna modifica del profilo lo risolverà. Se l’identità compare qui ma non nel client, la differenza è nell’archivio o nell’ambito del client.

Dove vive la chiave privata e chi può usarla

Quando importi un’identità tramite Accesso Portachiavi, la finestra di importazione propone un portachiavi di destinazione. Quale destinazione sia corretta dipende dal client e dal fatto che il profilo sia con ambito utente o dispositivo. Una vecchia risposta che consiglia il portachiavi di sistema non è una regola universale, e copiare elementi tra archivi non è una riparazione.

System Roots è una raccolta di attendibilità. Mettervi un certificato cambia quali emittenti il sistema considera attendibili; non crea una chiave privata e non è un archivio di identità. Spostare certificati non correlati per popolare un selettore è il tipo di correzione che lascia una macchina con un insieme di attendibilità permanentemente ampliato.

L’accesso alla chiave privata è un controllo separato. Concedere a ogni applicazione il permesso di usare la chiave risolve il problema di selezione di un client e consegna la stessa capacità a tutto il resto della macchina. Concedilo al client che ne ha bisogno e controlla se la chiave è protetta dall’hardware o contrassegnata come non esportabile; se lo è, occorre usare il provider supportato anziché una copia esportata.

Come il profilo indica la credenziale

In una configurazione IKEv2 nativa gestita, il profilo fa riferimento al suo payload di credenziali tramite PayloadCertificateUUID. Contano l’identità referenziata e il modo in cui è stata fornita; modificare un nome visualizzato nel profilo non ripara un riferimento che punta al payload sbagliato o a uno che non ha mai consegnato una chiave.

Un provider di terze parti può usare un meccanismo di selezione del tutto diverso, come il proprio archivio o una richiesta di sistema. Leggi la documentazione di quel provider invece di trasferire presupposti dei profili nativi, e verifica il riferimento nel profilo realmente installato, non in quello della bozza nella console di gestione.

Selezione e accettazione sono traguardi separati

Un selettore popolato significa che il client può trovare e usare un’identità. Non dice nulla sul fatto che il gateway la accetterà. Il server controlla ancora l’emittente, la finestra di validità, lo stato di revoca e la mappatura da quella credenziale a un account.

Prova entrambe le fasi esplicitamente, in quest’ordine. Conferma che l’identità venga offerta, connettiti, poi chiedi al proprietario del gateway di confermare quale credenziale è stata presentata e quale regola di mappatura l’ha consumata. Se il client offre un’identità e il server la rifiuta, il lavoro restante è lato server. Reinstallare il certificato sul Mac non cambierà quell’esito, per quante volte lo si ripeta.

Articoli correlati