La respuesta de Steve Sheldon me solucionó el problema, sin embargo, dado que estoy creando scripts de permisos de certificados sin una interfaz gráfica de usuario, necesitaba una solución con secuencias de comandos. Luché por encontrar dónde estaba almacenada mi clave privada. La clave privada no estaba dentro -C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
, eventualmente descubrí que realmente estaba dentro C:\ProgramData\Microsoft\Crypto\Keys
. A continuación describo cómo lo descubrí:
Lo intenté FindPrivateKey
pero no pude encontrar la clave privada, y usando powershell el$cert.privatekey.cspkeycontainerinfo.uniquekeycontainername
estaba nulo / vacío.
Afortunadamente, certutil -store my
enumeré el certificado y me dio los detalles que necesitaba para escribir la solución.
================ Certificate 1 ================
Serial Number: 162f1b54fe78c7c8fa9df09
Issuer: CN=*.internal.xxxxxxx.net
NotBefore: 23/08/2019 14:04
NotAfter: 23/02/2020 14:24
Subject: CN=*.xxxxxxxnet
Signature matches Public Key
Root Certificate: Subject matches Issuer
Cert Hash(sha1): xxxxa5f0e9f0ac8b7dd634xx
Key Container = {407EC7EF-8701-42BF-993F-CDEF8328DD}
Unique container name: 8787033f8ccb5836115b87acb_ca96c65a-4b42-a145-eee62128a
##* ^-- filename for private key*##
Provider = Microsoft Software Key Storage Provider
Private key is NOT plain text exportable
Encryption test passed
CertUtil: -store command completed successfully.
Luego escaneéc\ProgramData\Microsoft\Crypto\
la carpeta y encontré el archivo 8787033f8ccb5836115b87acb_ca96c65a-4b42-a145-eee62128a en C: \ ProgramData \ Microsoft \ Crypto \ Keys .
Darle a mi cuenta de servicio acceso de lectura a este archivo solucionó los problemas para mí