Как найти новую сертификацию с помощью Certutil?

Мне нужно создать новый сертификат, а затем найти его, чтобы получить серийный номер (чтобы использовать его позже для получения открытого и закрытого ключей).

Если я создам новый сертификат с помощью утилиты makecert из Microsoft SDK следующим образом:

makecert -r -pe -a sha1 -n "CN=ElektroSoft" -b 01/01/2013 -e 01/01/2050 -ss my -$ individual 

Тогда я полагаю, что сертификат будет храниться в "моем"...

... Но когда я пытаюсь перечислить «мои» сертификаты, я получаю только одну запись, и это не мой новый сертификат:

C:\>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.

Тогда где хранится мой новый сертификат?


person ElektroStudios    schedule 21.04.2013    source источник


Ответы (1)


Наконец, я сделал свой код:

@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%"
person ElektroStudios    schedule 22.04.2013