Instalou o certificado, ele aparece no Acesso às Chaves com um nome descritivo e o seletor de identidade do cliente VPN continua vazio. O cliente não procura um certificado. Procura uma identidade: um certificado emparelhado com a chave privada que consegue provar a posse, guardado onde o cliente tem permissão para o ler.

O que o cliente pede é uma identidade

A estrutura de segurança da Apple trata um certificado e uma identidade como objetos diferentes. Um certificado são dados públicos. Uma identidade é esse certificado mais a sua chave privada, e só a identidade consegue completar um desafio. Um certificado de AC fidedigna, por sua vez, permite ao cliente avaliar um emissor; não torna a máquina titular de uma credencial de cliente emitida.

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

É por isso que importar um ficheiro .cer nunca produz uma identidade de cliente utilizável. O ficheiro contém apenas material público, e por muito que o renomeie ou o marque como fidedigno, não o transforma num par de chaves.

Três razões pelas quais o seletor fica vazio

A primeira é uma chave privada ausente, o que significa que o processo de inscrição ou de importação não a forneceu. A segunda é um armazém que o cliente não consulta: um perfil com âmbito de utilizador procura no porta-chaves do utilizador, e um item colocado num armazém de sistema pode ser-lhe invisível. A terceira é uma incompatibilidade de finalidade ou de política, em que o certificado existe mas não é válido para autenticação de clientes segundo as regras da implementação.

security find-identity -v -p ssl-client

Isto lista as identidades que o sistema considera válidas para autenticação de clientes. Se a contagem for zero, o problema está a montante do cliente VPN e nenhuma edição do perfil o resolverá. Se a identidade aparecer aqui mas não no cliente, a diferença está no armazém ou no âmbito do cliente.

Onde vive a chave privada e quem a pode usar

Quando importa uma identidade através do Acesso às Chaves, a caixa de diálogo de importação oferece um porta-chaves de destino. Qual é o destino correto depende do cliente e de o perfil ter âmbito de utilizador ou de dispositivo. Uma resposta antiga que recomenda o porta-chaves do sistema não é uma regra universal, e copiar itens entre armazéns não é uma reparação.

O System Roots é uma coleção de confiança. Colocar lá um certificado altera os emissores em que o sistema confia; não cria uma chave privada e não é um armazém de identidades. Mover certificados não relacionados para encher um seletor é o tipo de correção que deixa uma máquina com um conjunto de confiança permanentemente alargado.

O acesso à chave privada é um controlo separado. Conceder a todas as aplicações permissão para usar a chave resolve o problema de seleção de um cliente e entrega a mesma capacidade a tudo o resto na máquina. Conceda-o ao cliente que precisa dele e verifique se a chave é protegida por hardware ou marcada como não exportável; se for, é preciso usar o fornecedor suportado em vez de uma cópia exportada.

Como o perfil aponta para a credencial

Numa configuração IKEv2 nativa gerida, o perfil referencia o seu payload de credenciais através de PayloadCertificateUUID. O que importa é a identidade referenciada e a forma como foi aprovisionada; editar um nome de apresentação no perfil não repara uma referência que aponta para o payload errado ou para um que nunca entregou uma chave.

Um fornecedor terceiro pode usar um mecanismo de seleção completamente diferente, como o seu próprio armazém ou um pedido do sistema. Leia a documentação desse fornecedor em vez de transferir pressupostos de perfis nativos, e verifique a referência no perfil que está realmente instalado, não no rascunho da consola de gestão.

Seleção e aceitação são marcos separados

Um seletor preenchido significa que o cliente consegue encontrar e usar uma identidade. Não diz nada sobre se o gateway a vai aceitar. O servidor continua a verificar o emissor, a janela de validade, o estado de revogação e o mapeamento dessa credencial para uma conta.

Teste as duas fases explicitamente, nessa ordem. Confirme que a identidade é oferecida, ligue-se e depois peça ao proprietário do gateway que confirme que credencial foi apresentada e que regra de mapeamento a consumiu. Se o cliente oferece uma identidade e o servidor a rejeita, o trabalho restante está do lado do servidor. Reinstalar o certificado no Mac não alterará esse resultado, por muitas vezes que se repita.

Artigos relacionados