Como faço para o Safari usar automaticamente um certificado de cliente específico para um site inteiro?


27

O uso de certificados de cliente com o Safari apresenta vários problemas:

  • O Safari pede para selecionar um certificado de cliente em cada página do site (irritante)
  • O Safari pode até solicitar novamente que você escolha um certificado em uma página que você já visitou, principalmente se você precisar atualizar seu certificado de cliente

Como posso corrigir esses problemas?

Respostas:


29

Os certificados de cliente do Safari e as preferências relacionadas são armazenados no Keychain Manager com um tipo de certificado .

Quando você seleciona um certificado para usar com um site, ele armazena outra entrada no Keychain Manager com um tipo de preferência de identidade . Infelizmente, por padrão, ele o armazena apenas para a página exata em que você estava. O nome e o local estão definidos para o URL da página.

Para corrigir isso, basta editar uma das entradas de preferências de identidade e alterar a seção where para o URL base, como https://somesslsite.com/(a barra final é importante!). Também atualizo o nome para a mesma coisa para evitar confusão. Você pode excluir todas as outras entradas de preferência de identidade desse site.

Se você possui um certificado que expirou e teve que adicionar um novo, recomendo que você exclua as entradas antigas do certificado e todas as entradas de preferência de identidade relacionadas .

Para localizar entradas de preferências de certificado e identidade , abra o Gerenciador de chaves, verifique se Todos os itens está selecionado e procure o URL parcial e / ou o nome do certificado, conforme apropriado. Você provavelmente não tem muitos, por isso, se isso não funcionar, apenas classifique a lista por tipo e você poderá encontrá-los facilmente.

OBSERVAÇÃO: eu mesmo respondo a isso desde que descobri, mas queria persistir no conhecimento para mim e para os outros.


2
Infelizmente, o Safari continua pedindo cada sub-URL ...: - /
Tafkadasoh

comentário removido. A resposta dos DanJs já explica isso.
Calon

1
Não que você precise atualizar a propriedade location . Nome não é suficiente.
andy

19

Caminhos parciais e curingas agora são suportados nas versões mais recentes do OS X. Portanto, você pode usar o Gerenciador de Chaves para criar uma preferência de identidade para um site e / ou domínio inteiro.

Exemplo de caminho parcial (observe que a barra final é necessária!):

https://server.mydomain.com/

Exemplo curinga:

*.mydomain.com

Detalhes completos aqui (na página 'man security'):

Antes da 10.5.4, as preferências de identidade para autenticação de cliente SSL / TLS só podiam ser definidas por URL. O URL que está sendo visitado precisa corresponder exatamente ao nome do serviço para que a preferência entre em vigor.

Na 10.5.4, tornou-se possível especificar preferências de identidade por servidor, usando um nome de serviço com uma URL de caminho parcial para corresponder a caminhos mais específicos no mesmo servidor. Por exemplo, se existir uma preferência de identidade para " https://www.apache-ssl.org/ ", ela entrará em vigor para " https://www.apache-ssl.org/cgi/cert-export ", e assim por diante. Observe que os URLs de caminho parcial devem terminar com um caractere de barra final.

A partir do 10.6, é possível especificar preferências de identidade por domínio, usando o caractere curinga *como o componente mais à esquerda do nome do serviço. Ao contrário dos curingas SSL, um curinga de preferência de identidade pode corresponder a mais de um subdomínio. Por exemplo, uma preferência de identidade para o nome *.army.milcorresponderá a server1.subdomain1.army.milou server2.subdomain2.army.mil. Da mesma forma, uma preferência por *.milcorresponderá a server.army.mile server.navy.mil.


Trabalhou para mim (executando o Safari 7.0.1 no Mac OS X 10.9.1)
Tafkadasoh

3

Eu mesmo tenho lutado com isso e a resposta acima me fez perceber o que estava acontecendo.

Se você tinha um certificado para um site e ele expirou, o que você deve fazer é remover o certificado antigo. Em seguida, remova também os itens do tipo de preferência de identidade para esse site. Esses itens antigos expiram tanto quanto o certificado. Depois de removê-los, qualquer nova preferência de identidade será armazenada e usada corretamente.

Tão:

  1. Remover certificado antigo
  2. Remover itens de preferência de identidade do certificado antigo
  3. Adicionar novo certificado

Em seguida, você pode navegar até o site, selecionar o novo certificado na lista; isso será lembrado para esse endereço da web específico. Atualmente, estamos no Safari 5.1.3 e esta versão não usa caracteres curinga para preferências. Você terá que adicionar a preferência para cada alteração no endereço da Web ... Espero que isso ajude alguém, apenas divulgando porque não o fiz. encontre qualquer resposta completa.


consulte @apinstein resposta para a maneira correta de fazê-lo
dwery
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.