O percurso começa na lista de certificados do cliente, onde a entrada mostra um nome, um emissor e uma data de validade e nada mais. Exporte-a, importe-a no segundo dispositivo e a conexão é recusada porque o cliente não consegue provar que possui a chave privada. O arquivo foi copiado por inteiro; o erro é esperar que um certificado carregue a própria chave. Leia a caixa de diálogo de exportação antes de escolher o formato e depois inspecione o arquivo que realmente recebeu.

Dois cliques, dois artefatos muito diferentes.

Leia a caixa de diálogo de exportação, não o sufixo do arquivo

Uma exportação de certificado DER ou PEM contém uma chave pública e as declarações de identidade assinadas, que é o que um servidor precisa para confiar em você e o que um cliente precisa para verificar um servidor. Um pacote PKCS#12 é um contêiner que pode guardar um certificado, a sua cadeia e a chave privada correspondente, protegido por uma palavra-passe, embora também possa ser criado sem a chave.

PEM é apenas uma codificação de texto, não uma promessa sobre o conteúdo. O mesmo sufixo pode descrever um único certificado ou um arquivo com vários blocos rotulados, e as opções de exportação decidem qual.

Portanto a pergunta útil nunca é qual extensão você recebeu, mas quais blocos o arquivo contém. Um pacote exportado sem a chave continua a ser um pacote. Verifique o conteúdo e não a popularidade do formato.

Inspecione o que realmente recebeu

Procure os rótulos antes de importar qualquer coisa, e depois leia os campos do certificado para confirmar que identidade tem em mãos. Execute as verificações no arquivo que realmente vai ser importado. Repita-as após qualquer nova exportação, porque as opções podem variar.

grep -E 'BEGIN (CERTIFICATE|PRIVATE KEY|ENCRYPTED PRIVATE KEY)' bundle.pem
openssl x509 -in client.crt -noout -subject -issuer -dates
openssl pkey -in client.key -noout -text | head -5
openssl pkcs12 -info -in client.p12 -noout

Uma exportação só com o bloco de certificado é um objeto público e não pode autenticar. Um bloco de chave sem certificado deixa-o sem a cadeia que o servidor espera. A saída de informações do PKCS#12 também indica se existe uma chave, o que resolve a questão para esse formato. Também indica o algoritmo e o tamanho da chave, e falha por completo quando não há chave.

Nunca cole um arquivo com uma chave privada num tópico de suporte, num rastreador de problemas ou num chat, mesmo quando se parece com o certificado que já partilhava. As capturas de ecrã de um painel de chaves merecem o mesmo cuidado.

A chave pode estar onde não consegue copiá-la

Em dispositivos geridos, a chave privada pode estar no chaveiro do sistema operativo, num token de hardware ou num enclave seguro, com uma política que a marca como não exportável. O gestor de certificados mostra então o objeto público enquanto o segredo fica no seu lugar, e nenhum comando de exportação produz uma cópia portátil. O registo através da gestão de dispositivos móveis funciona muitas vezes assim por conceção.

Isso é um controlo, não um obstáculo a contornar. Reconstruir uma chave privada a partir do certificado público não é possível, e qualquer ferramenta que o afirme está a fazer outra coisa.

Registe uma identidade nova em vez de copiar

O caminho suportado é normalmente registar uma identidade distinta para o novo dispositivo e revogar a antiga quando é retirada, para que cada dispositivo possa ser retirado de forma independente. Onde uma exportação com a chave é realmente aprovada, trate o arquivo resultante e a palavra-passe como credenciais: cifrados em repouso, transferidos por um canal de confiança e apagados quando o registo termina.

Verifique autenticando-se com a identidade importada, não vendo se a importação teve êxito. Um cliente que aceita um certificado público no seu armazenamento não provou nada sobre a chave.

Termine confirmando que o servidor aceita a identidade nova e que a antiga continua a comportar-se como a política pretende. Assim o percurso fecha-se com provas, e não com um arquivo que parece correto.

Artigos relacionados