O certificado do cliente ADCS não possui chave privada

2

Eu configurei o ADCS para instalar certificados de usuário e computador via GPO. Com esses certificados eu posso fazer a autenticação EAP-TLS das máquinas para um servidor Clearpass RADIUS. Isso é bom.

Mas estou tentando fazer com que os usuários baixem certificados de usuário para computadores que não sejam do domínio em http: /// certsrv. Eles podem baixar um certificado, mas ele não é colocado no armazenamento de certificados 'Pessoal' na máquina cliente, mas na loja 'Objeto de usuário do Active Directory'. A autenticação EAP-TLS falha. Após um exame mais aprofundado, parece que o certificado não tem a chave privada baixada com ele. Os certificados instalados via GPO possuem a chave privada. Sem a chave privada no computador, o EAP-TLS sempre falhará.

Como obtenho o ADCS para permitir que a chave privada seja baixada através da interface web? O modelo de certificado 'Usuário' tem a caixa marcada para permitir isso. Eu até criei um novo modelo de certificado e assegurei que a opção para permitir o download de chave privada estivesse habilitada.

Idéias?

Obrigado!

    
por ZekeD123 10.11.2017 / 01:54

1 resposta

2

But I'm trying to have users download user certificates for non-domain computers from http:///certsrv.

Com o registro na Web do ADCS, com computadores que não fazem parte do domínio, você precisa criar o pedido de certificado manualmente, com certreq.exe (incluído no Windows) ou OpenSSL.

Quando você cria a solicitação de certificado com certreq.exe , a chave privada é criado na máquina cliente e armazenado localmente na máquina cliente. A CA nunca tem sua chave privada. (Enterprise CA Key Archival está fora do escopo aqui.) A CA apenas assina sua solicitação de certificado. Quando você leva a solicitação de certificado assinada de volta ao seu cliente e a importa, ela é "casada" naquele momento com a chave privada.

Isso tudo é manual. A automação é um benefício dos clientes gerenciados por domínio do Active Directory e do Enterprise PKI. Mas você especificou que não ingressou no domínio.

(PS, eu acho que você poderia escrever um script para automatizar os comandos certreq e certutil necessários, mas eu não tenho esse script à mão. Talvez algo como isto .)

Editar: Nota final, você pode querer tentar configurar Key Archival em sua CA, então configurando RequestType = CMC e PrivateKeyArchive = True em sua solicitação de certificado, eu sinceramente não sei se isso funcionará de um não-domínio. juntou-se a máquina, mas em teoria poderia, porque você poderia transmitir com segurança sua chave privada do cliente para a CA usando o certificado da CA. (Embora você possa argumentar que, em princípio, é inseguro ter a chave privada armazenada em mais de um local.)

Mas nunca testei e não consigo documentá-lo.

(Não que você precise de Key Archival para implementar o procedimento básico de certreq que descrevi acima; fiz essa parte cem vezes e sei que funciona.)

    
por 10.11.2017 / 04:35