A user asked:

Is there a script or command line tool for Windows XP to install certificates? We want to create about 500+ user accounts in AD and then have each XP client obtain a certificate to use with 802.1x authentication. We have one server running Windows 2000 AD, DNS, Certificate Authority. This is a development machine, not production so we don't care too much about performance or load at this point. Our XP clients DNS points to the Windows 2000 AD Domain Controller and they have joined the domain.

I responded:

To start, this would be much simpler with Windows Server 2003 Enterprise edition, which provides an automated certificate issuing procedure known as “Auto-enrollment”. You can create templates for the type of certificate you want and then a simple GPO to automate the process. You can read all about it at:

 

Um usuário perguntou:

Existe algum script ou linha de comando para Windows XP que instale certificados? Nós queremos criar 500 ou mais contas de usuários no AD e depois fazer cada client XP obter um certificado para usar com autenticação 802.1x. Nós temos um servidor Windows 2000 rodando AD, DNS e Certificate Authority. Está é uma máquina para desenvolvimento, não produção, portanto nós não estamos tão preocupados com performance e utilização agora. O DNS dos clientes XP aponta para o Windows 2000 que é controlador de domínio AD e eles fazem parte do domínio.

Eu respondi:

Para começar, isto seria muito mais simples com a versão Enterprise do Windows Server 2003, que oferece um procedimento automático para emitir certificados chamado de "Auto-enrollment". Você pode criar modelos para os tipos de certificados que você precisa e usar uma GPO para automatizar o processo. Leia sobre este assunto em:

 
 

However, you clearly stated this needs to run on a Windows 2000 Domain Controller and CA, so this is not an option. The alternative would be to use the CERTREQ tool, which allows you to request a certificate in a command-line.

CERTREQ is compatible with Windows Server 2003 and Windows 2000 Server, and can be used to manage the certificate containers for users, computers, and services on computers running Windows 2000, Windows XP, and Windows Server 2003. You could certainly put this in a script.

If you like CERTREQ, you will probably find the CERTUTIL tool also useful, since it can query the certificate store and import/export certificates. For more info, check:

 

Entretanto, você deixou claro que isto precisa rodar em um Controlador de Domínios e CA com Windows 2000, então esta opção não se aplica. A alternativa é usar a ferramenta CERTREQ, que permite requisitar um certificado via linha de comando.

O CERTREQ é compatível com Windows Server 2003 e Windows 2000 Server e pode ser usuados para gerenciar certificados de usuários, computadores e serviços rodando em Windows 2000, Windows XP e Windows Server 2003. Com certeza daria para usá-lo em um script.

Se você gostar do CERTREQ, provavelmente também achará a ferramenta CERTUTIL interessante, já que ela pode consultar o repositório de certificados e importar/exportar certificados. Para maiores informações, veja:

 

If you can’t find the CERTUTIL.EXE or CERTREQ.EXE files in your system, you need to download the Windows Server 2003 Admin Pack (which will also run on Windows XP). Get it from:

 

Se você não conseguir encontrar os arquivos CERTUTIL.EXE ou o CERTREQ.EXE no seu sistema, você precisa baixar o "Windows Server 2003 Admin Pack" (que roda também no Windows XP). Pegue em:

 
 

You can find a complete reference of tools, registry entries and GPO settings related to certificates at:

 

Você encontrará uma coleção completa de ferramentas, entradas do registro e configurações de GPO relacionadas a certificados em:

 
 

You might also want to take a look at the 802.1x discussions at these links, which also include information on the EAPOL registry settings:

 

Você pode também dar uma olhada nestes links com discussões sobre 802.1x, que incluem informações sobre as configurações de registro para EAPOL:

 
 

Last but not least, if you’re not afraid of programming and you understand what the CryptoAPI is, you can always code your own certificate request. You can find information on how to do it at:

 

Finalmente, se você não tem medo de programar e entende o que é a CryptoAPI, pode sempre dar uma olhada em como criar um programa para requisitar certificados. Veja informações em: