Eis os passos para a geração de certificado digital 1A básico para assinatura de executáveis. Serve até para assinar NF-e mas não para enviar.
Salve o conteúdo dentro de criacert.bat
@cls
@del RDS*.cer RDS*.pvk RDS*.pfx
@certutil -delstore Root RDS-CARoot
@rem certmgr.exe
@echo Criando certificado raiz...
@makecert.exe ^
-n "CN=RDS-CARoot" ^
-r ^
-pe ^
-a sha512 ^
-len 4096 ^
-sky Signature ^
-cy authority ^
-sv RDS-CARoot.pvk ^
RDS-CARoot.cer
@echo Instalando certificado raiz...
@certutil.exe -user -addstore Root RDS-CARoot.cer
@rem RDS-CARoot.cer
@echo Previsualiza se certificado raiz foi bem Instalando...
@RDS-CARoot.cer
@echo Criando certificado terminal baseado no certificado raiz...
@makecert.exe ^
-n "C=BR/ST=SP/L=Sao Paulo/O=JOSE CARLOS DA ROCHA 10838555868/OU=Minha Empresa Desenvolvimento/CN=13536613000106/emailAddress=email@meusite.com.br" ^
-iv RDS-CARoot.pvk ^
-ic RDS-CARoot.cer ^
-pe ^
-a sha512 ^
-len 4096 ^
-b 07/05/2021 ^
-e 07/05/2030 ^
-sky Exchange ^
-eku 1.3.6.1.5.5.7.3.1 ^
-sv RDS-SERVER.pvk ^
RDS-SERVER.cer
@dir rds*.* /od
@pause
@echo Criando certificado PFX...
@pvk2pfx.exe ^
-pvk RDS-SERVER.pvk ^
-spc RDS-SERVER.cer ^
-pfx RDS-SERVER.pfx ^
-po 123123
@echo Assinando aplicativo diretamente com PFX
@rem signtool sign /v /f RDS-SERVER.pfx ^ /t http://timestamp.url MyExecutable.exe
@echo Assinando aplicativo a partir do repositorio interno com PFX
@rem signtool sign /v /n "Me" /s SPC ^ /t http://timestamp.url MyExecutable.exe
@dir *.pvk *.pfx *.cer *.ext *.csr *.pem *.key
Confirme antes se seu Windows possui as seguintes ferramentas certutil.exe, makecert.exe, pvk2pfx.exe, signtool.exe. Geralmente ficam dentro das pastas do .NET.
Os comandos de assinatura do executável estão REMarcados. O certificado gerado pode ser usado por 10 anos para assinar mas só precisa ser gerado uma vez.
Usei a senha 123123 em todas as vezes que me foi questionada.
Faça as suas mudanças.
Certificado Raiz:
- Será pedida a senha nas duas primeiras telas,
- Será pedida para fazer a instalação do certificado,
- As propriedades do certificado aparecerão para a instalação,
- Proceda na instalação e escolha, Colocar todos os certificados no repositório Autoridades de Certificação Raiz Confiável,
Certificado Terminal:
- Será pedida a senha em várias telas,
- Os arquivos criados serão apresentados numa lista,