Para fins de não produção, para permitir que um ambiente de teste seja usado para treinamento, temos um aplicativo que executa um script em lote que instala um OCA e certificados assinados por esse OCA em um conjunto de máquinas Windows.
Infelizmente, o certificado OCA expirou pela primeira vez desde que usamos este script e erros de certutil quando executamos este script em lote porque o novo certificado OCA tem o mesmo nome do antigo.
Como faríamos com que o certutil substituísse o certificado ou removesse o existente pelo nome antes de adicionar o novo?
Veja abaixo o comando que estou usando e o resultado 'Certificado "x" já armazenado.' - aquele que já está na loja com o mesmo nome está vencido.
Os comandos são certutil -addstore "Root" "[REMOVED].crt" certutil -addstore "Ca" "[REMOVED].crt" e o prompt de comando está sendo executado com privilégios elevados
Na captura de tela foi um pouco difícil de ver. Infelizmente não há opção para sobrescrever/substituir certificados já na loja, então você precisa excluir o certificado e depois adicioná-lo. Os comandos certutil ficariam assim
No primeiro comando você precisa substituir OldCertificateCommonName pelo nome comum do certificado.
A propósito, você tem certeza de que este certificado precisa estar no armazenamento de autoridade da CA? Isso lhe confere um poder insano e pode atuar como uma autoridade de certificação. Tenha cuidado com isso do ponto de vista da segurança.