Estou escrevendo um script que automatiza a adição dos certificados GlobalSign mais recentes, conforme encontrado aqui:
https://support.globalsign.com/ca-certificates/root-certificates/globalsign-root-certificates
Consegui importar com sucesso o seguinte usando certutil -addstore root
:
clientauthrootr45.crt
codesigningrootr45.crt
docsignrootr45.crt
iotrootr60.crt
Root-R1.crt
Root-R3.crt
rootr46.crt
root-r6.crt
smimerootr45.crt
timestamprootr45.crt
Mas esses certificados falharam ao importar:
clientauthroote45.crt
codesigningroote45.crt
docsignroote45.crt
iotroote60.crt
roote46.crt
Root-R5.crt
smimeroote45.crt
O erro relatado foi:
402.203.0: 0x80070057 (WIN32: 87): ..CertCli Version
Signature does not match Public key: 80090008
313.2389.0: 0x80090008 (-2146893816)
Cannot add a non-root certificate to the root store
313.2398.0: 0x8007000d (WIN32: 13)
313.2668.0: 0x8007000d (WIN32: 13)
313.2830.0: 0x8007000d (WIN32: 13)
CertUtil: -addstore command FAILED: 0x8007000d (WIN32: 13)
CertUtil: The data is invalid.
301.3160.0: 0x8007000d (WIN32: 13)
Como esses certificados são diferentes e podem ser importados da linha de comando?
O site aponta a diferença:
O Windows XP, um sistema operacional de 19 anos, não tem suporte para criptografia de curva elíptica (ECC). Isso significa que a assinatura no certificado não pode ser verificada e, em seguida, ocorre uma cascata de erros.