Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: Eleкtro en 22 Abril 2013, 01:10 am



Título: [SOLUCIONADO] Como localizar un nuevo certificado usando CertUtil?
Publicado por: Eleкtro en 22 Abril 2013, 01:10 am
Tengo esta duda:

Si creo un nuevo certificado con la utilidad makecert de las SDK de Microsoft:
Código:
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
  1. C:\Users\Administrador\Desktop\Nueva carpeta>CERTUTIL -store my
  2. my
  3. ================ Certificado 0 ================
  4. Número de serie: 586a7358ebdce8854def26875f0f38ab
  5. Emisor: CN=localhost
  6. NotBefore: 22/02/2013 4:43
  7. NotAfter: 22/02/2018 2:00
  8. Sujeto: CN=localhost
  9. La firma coincide con la clave pública
  10. Certificado raíz: el sujeto coincide con el emisor
  11. Plantilla:
  12. Hash de cert(sha1): 1b 92 19 ef 19 ce d1 09 ad 87 13 73 56 0c cf 0a 57 29 cf 81
  13.  Contenedor de claves = IIS Express Development Certificate Container
  14.  Nombre de contenedor exclusivo: fad662b360941f26a1193357aab3c12d_a61f2a11-eaf9
  15. -4c14-9a63-d3613bf3bd2c
  16.  Proveedor = Microsoft RSA SChannel Cryptographic Provider
  17. Prueba de cifrado correcta
  18. CertUtil: -store comando completado correctamente.
  19.  

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!


Título: Re: Como localizar un nuevo certificado usando CertUtil?
Publicado por: Eleкtro en 22 Abril 2013, 05:25 am
Al final probando cosas he conseguido hacer el código:

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 :)