A resposta de Steve Sheldon corrigiu o problema para mim, no entanto, como estou criando scripts de permissões de certificado sem uma GUI, precisava de uma solução com script. Eu lutei para descobrir onde minha chave privada estava armazenada. A chave privada não estava inserida -C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
; eventualmente, descobri que estava realmente inserida C:\ProgramData\Microsoft\Crypto\Keys
. Abaixo, descrevo como descobri isso:
Eu tentei, FindPrivateKey
mas não foi possível encontrar a chave privada e, usando o PowerShell, o valor $cert.privatekey.cspkeycontainerinfo.uniquekeycontainername
era nulo / vazio.
Felizmente, certutil -store my
listei o certificado e me deu os detalhes necessários para criar o script da solução.
================ 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.
Em seguida, verifiqueic\ProgramData\Microsoft\Crypto\
a pasta e localizei o arquivo 8787033f8ccb5836115b87acb_ca96c65a-4b42-a145-eee62128a em C: \ ProgramData \ Microsoft \ Crypto \ Keys .
Ao fornecer acesso de leitura à minha conta de serviço, esse arquivo corrigiu os problemas para mim