jueves, 9 de octubre de 2008

Windows: Como añadir certificados digitales mediante un script

En más de una ocasión, me ha hecho falta desplegar el mismo certificado de usuario a múltiples personas (acceso a una web por ej.), he aquí la solución para no tener que ir usuario por usuario importandolo y hacerlo de forma automática, por ej. a través de Login Script.
Siento el plagio al autor, pero he sido incapaz de localizar el link original, así que dejo las anotaciones que hice en su día.

Lo primero deberemos es descargarnos el paquete SDK de CAPICOM de la web de Microsoft. Si son muchas las máquinas podemos crear una GPO para desplegarlo en los equipos.

Copiamos el certificado digital a una ruta accesible por los usuarios, por ej: \\SERVIDOR\Certificados\certificado.pfx

Deberemos de crear un script y aplicarselo a los usuarios (vía login script, o vía GPO) con los siguientes comandos.

rem Definición de variables
set CSTOREFILE="%PROGRAMFILES%\Microsoft CAPICOM 2.1.0.2 SDK\Samples\vbs\CStore.vbs"
set CERTFILE="\\SERVIDOR\Certificados\certificado.pfx"
set CERTPASS=mipassword

rem Importación del certificado
cscript /nologo %CSTOREFILE% import %CERTFILE% %CERTPASS%

También tenemos la opción de eliminar certificados caducados:
cscript /nologo %CSTOREFILE% delete -delkey -noprompt -time 1

Como otras opciones, si no queremos instalar CAPICOM en todas las máquinas, tambien podemos copiar el fichero "%PROGRAMFILES%\Microsoft CAPICOM 2.1.0.2 SDK\Samples\vbs\CStore.vbs" en la misma ruta que el certificado digital y modificar la variable CSTOREFILE con la nueva ruta.
Copiamos capicom.dll en C:\windows\system32 (por ej.) y agregamos en el script regsvr32 /s C:\windows\system32\capicom.dll así registramos la librería en todas las máquinas, aunque esto requiere de privilegios de administrador local.

No hay comentarios: