如何使用CERTUTIL找到新的认证?(How to locate new certificatio

2019-10-18 01:43发布

我需要创建一个新的证书,然后找到它获得的序列号(后来用它来获取公共和私有密钥)。

如果我让与微软SDK的这样makecert实用新的证书:

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.

然后储存在哪里新的证书?

Answer 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%"


文章来源: How to locate new certification using Certutil?