Come faccio a fare in modo che Safari usi automaticamente un determinato certificato client per un intero sito?


27

L'uso dei certificati client con Safari presenta una serie di problemi:

  • Safari chiede di selezionare un certificato client su ogni pagina del sito (fastidioso)
  • Safari potrebbe persino richiedere nuovamente di scegliere un certificato in una pagina che hai già visitato, in particolare se devi aggiornare il certificato del cliente

Come posso risolvere questi problemi?

Risposte:


29

I certificati client di Safari e le relative preferenze sono memorizzati in Keychain Manager con una specie di certificato .

Quando si seleziona un certificato da utilizzare con un sito Web, memorizza un'altra voce in Keychain Manager con una sorta di preferenza di identità . Sfortunatamente, per impostazione predefinita lo memorizza solo per la pagina esatta in cui ti trovavi. Sia il nome che la posizione sono impostati sull'URL della pagina.

Per risolvere questo problema, puoi semplicemente modificare una delle voci delle preferenze di identità e cambiare la sezione where nell'URL di base, come https://somesslsite.com/(la barra finale è importante!). Inoltre aggiorno il nome alla stessa cosa per evitare confusione. È quindi possibile eliminare tutte le altre voci delle preferenze di identità per quel sito.

Se hai un certificato scaduto e devi aggiungerne uno nuovo, ti consiglio di eliminare le vecchie voci del certificato e tutte le voci relative alle preferenze di identità correlate .

Per trovare le voci delle preferenze relative al certificato e all'identità , apri Keychain Manager, assicurati che Tutti gli articoli siano selezionati e cerca l'URL parziale e / o il nome del certificato come appropriato. Probabilmente non ne hai molti, quindi se non funziona basta ordinare l'elenco per tipo e dovresti riuscire a trovarli facilmente.

NOTA: rispondo io stesso da quando l'ho capito ma volevo perseverare nella conoscenza per me stesso e gli altri.


2
Sfortunatamente, Safari continua a chiedere ogni URL secondario ...: - /
Tafkadasoh,

commento rimosso. La risposta di DanJ lo spiega già.
Calon,

1
Non che devi aggiornare la proprietà location . Il nome non è sufficiente.
andy,

19

Percorsi parziali e caratteri jolly sono ora supportati nelle versioni più recenti di OS X. Quindi è possibile utilizzare Keychain Manager per creare una preferenza di identità per un intero sito Web e / o dominio.

Esempio di percorso parziale (nota che è richiesta la barra finale!):

https://server.mydomain.com/

Esempio di carattere jolly:

*.mydomain.com

Tutti i dettagli qui (dalla pagina 'man security'):

Prima della 10.5.4, le preferenze di identità per l'autenticazione client SSL / TLS potevano essere impostate solo per URL. L'URL visitato doveva corrispondere esattamente al nome del servizio affinché la preferenza fosse attiva.

In 10.5.4, è stato possibile specificare le preferenze di identità su base per server, utilizzando un nome di servizio con un URL di percorso parziale per abbinare percorsi più specifici sullo stesso server. Ad esempio, se esiste una preferenza di identità per " https://www.apache-ssl.org/ ", sarà in vigore per " https://www.apache-ssl.org/cgi/cert-export ", e così via. Tieni presente che gli URL percorso parziale devono terminare con un carattere barra finale.

A partire da 10.6, è possibile specificare le preferenze di identità in base al dominio, utilizzando il carattere jolly *come componente più a sinistra del nome del servizio. A differenza dei caratteri jolly SSL, un carattere jolly delle preferenze di identità può corrispondere a più di un sottodominio. Ad esempio, una preferenza di identità per il nome *.army.milcorrisponderà server1.subdomain1.army.milo server2.subdomain2.army.mil. Allo stesso modo, una preferenza per *.milcorrisponderà sia a server.army.milche a server.navy.mil.


Ha funzionato per me (eseguendo Safari 7.0.1 su Mac OS X 10.9.1)
Tafkadasoh,

3

Ho lottato con questo me stesso e la risposta sopra mi ha fatto capire cosa stava succedendo.

Se avevi un certificato per un sito Web ed è scaduto, quello che dovresti fare è rimuovere il vecchio certificato. Quindi rimuovere anche gli elementi del tipo di preferenza di identità per quel sito Web. Questi vecchi articoli sono scaduti tanto quanto il certificato. Dopo averli rimossi, qualsiasi nuova preferenza di identità verrà memorizzata e utilizzata correttamente.

Così:

  1. Rimuovi il vecchio certificato
  2. Rimuovere gli elementi delle preferenze di identità del vecchio certificato
  3. Aggiungi nuovo certificato

Quindi puoi navigare al sito Web, selezionare il nuovo certificato dall'elenco, questo verrà ricordato per quello specifico indirizzo web. Attualmente siamo su Safari 5.1.3 e questa versione non utilizzerà alcun carattere jolly per le preferenze, dovrai aggiungere la preferenza per ogni modifica dell'indirizzo web ... Spero che questo aiuti qualcuno, mettendolo lì perché non l'ho fatto trova una risposta completa.


si prega di fare riferimento alla risposta di @apinstein per il modo corretto di farlo
dwery
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.