[SOLUCIONADO] Como localizar un nuevo certificado usando CertUtil?

Iniciado por Eleкtro, 22 Abril 2013, 01:10 AM

0 Miembros y 1 Visitante están viendo este tema.

Eleкtro

Tengo esta duda:

Si creo un nuevo certificado con la utilidad makecert de las SDK de Microsoft:
makecert -r -pe -a sha1 -n "CN=ElektroSoft" -b 01/01/2013 -e 01/01/2050 -ss my -$ individual

Se supone que ese comando nos almacena el certificado en "my",

Entonces con la utilidad Certutil, si intento listar los certificados de "my" para obtener el número de serie, sólo me sale una entrada:

Código (dos) [Seleccionar]
C:\Users\Administrador\Desktop\Nueva carpeta>CERTUTIL -store my
my
================ Certificado 0 ================
Número de serie: 586a7358ebdce8854def26875f0f38ab
Emisor: CN=localhost
NotBefore: 22/02/2013 4:43
NotAfter: 22/02/2018 2:00
Sujeto: CN=localhost
La firma coincide con la clave pública
Certificado raíz: el sujeto coincide con el emisor
Plantilla:
Hash de cert(sha1): 1b 92 19 ef 19 ce d1 09 ad 87 13 73 56 0c cf 0a 57 29 cf 81
 Contenedor de claves = IIS Express Development Certificate Container
 Nombre de contenedor exclusivo: fad662b360941f26a1193357aab3c12d_a61f2a11-eaf9
-4c14-9a63-d3613bf3bd2c
 Proveedor = Microsoft RSA SChannel Cryptographic Provider
Prueba de cifrado correcta
CertUtil: -store comando completado correctamente.


Entonces, si el certificado que he creado no está en "my", ¿¡donde está mi certificado!?

He probado a usar -repairstore y en fín todos los parámetros de cerutil que he visto.

Esto quiero conseguirlo para automatizar la taréa en un Bat, en un PC que no es de mi propiedad para permitirle generar un certificado con la clave pública y privada, desde la consola.

Sólamente con encontrar la ubicación del certificado (para poder obtener el número de serie) me sería suficiente.

PD: si uso la herramienta certmgr.msc puedo ver el certificado en la carpeta "\Personal\Certificados", pero no sé como encontrarla desde la CMD.

Gracias por leer!








Eleкtro

Al final probando cosas he conseguido hacer el código:

@Echo OFF
Setlocal enabledelayedexpansion


Set "Name=ElektroSoft"
Set "Password=Elektro"
Set "InitialDate=01/01/2013"
Set "ExpireDate=01/01/2050"
Set "SerialNumber=%Random%%Random%%Random%%Random%%Random%"


:: Make certificate
makecert -r -pe -a sha1 -n "CN=%Name%" -b "%InitialDate%" -e "%ExpireDate%" -$ individual -sr LocalMachine -ss my -cy authority -# "%SerialNumber%" "%Name%.cer"


:: Export certificate
For /F "Tokens=2 delims=:" %%# in ('certutil -store my') DO (
if "%%#" NEQ " CN=%Name%" (Set "SerialNumberHash=%%#") ELSE (
certutil -exportPFX -p "%Password%" my "!SerialNumberHash: =!" "%Name%.pfx"
Pause&Exit))


:: Check certificate
REM certutil -store my


:: Delete certificate
REM certutil -delstore MY "%Name%"



saludos :)