Opções de certificado de assinatura de código
-
05-07-2019 - |
Pergunta
Recebi a tarefa de comprar um certificado digital para minha empresa assinar nosso código.Desenvolvemos aplicações no espaço Microsoft - principalmente WPF ou Web Based.
Investiguei as opções e descobri que o Comodo tem um bom preço e é responsivo, e estamos prontos para prosseguir e adquirir um certificado por meio deles.no entanto, no formulário de inscrição existem várias opções de chave privada sobre as quais não tenho muita certeza, a saber:
CSP
- Provedor criptográfico base da Microsoft
- Provedor de criptografia de cartão inteligente básico da Microsoft
- Provedor criptográfico aprimorado da Microsoft v1.0
- Provedor criptográfico de software Microsoft
Tamanho da chave
- 1024
- 2048
- 4096
Exportável?
- Sim não
Usuário protegido?
- Sim não
Quer saber o que tudo isso significa e quais são as melhores opções para nossas necessidades?Qualquer conselho/sugestão seria apreciado
Obrigado Heaps Greg
Solução
Para "a maioria dos propósitos", as seguintes opções são recomendadas:
Microsoft Base Provedor Criptográfico Tamanho da Chave: 2048 Exportável: Sim Usuário Protegido: Sim
Para ser sincero, não estou familiarizado com os diferentes CSPs, mas a base faz o trabalho sempre para mim.
O tamanho da chave torna as teclas mais difíceis de quebrar, mas mais de 2048 bits para uma chave de curto e médio prazo (3-5 anos) é ampla (IMHO).
Exportable permite exportar o par de chave/certificado privado - essencial para fazer backup!
O usuário protegido significa que você deve inserir uma senha sempre que deseja usar o certificado - altamente recomendado para evitar assinatura acidental ou maliciosa de código com seu certificado.
Espero que isto ajude.
Outras dicas
Historicamente, o fornecedor criptográfico "base" tinha uma limitação artificial nos comprimentos -chave, e o provedor "aprimorado" teve o limite removido. Isso permitiu à Microsoft cumprir as leis de exportação dos EUA, removendo o provedor aprimorado em determinadas versões.
Aparentemente, com as mudanças na lei de exportação, a Microsoft removeu a limitação do provedor de base, permitindo comprimentos de chave mais longos (mas manteve o nome para compatibilidade)
Em relação ao "Provedor criptográfico de software da Microsoft" - acho que deveria ser "forte" (não "software").
Na prática, onde trabalho, base fornece um comprimento de chave de 512 bits (que não é mais compatível ou não funciona em servidores MS após um patch recente - leia em KB2661254).Você quer pelo menos 1.024, mas 2.048 é uma escolha melhor.
Cuidado:A chave privada exportável é desejada para backup e/ou transferência para outro servidor (e necessária para assinar códigos/scripts, eu acho), mas apresenta a possibilidade de cair em mãos erradas, após o que scripts indesejáveis podem ser assinados e executados em seu servidores, uma vez que você confia nesse certificado!Tome muito cuidado com onde/como você o armazena e use uma senha forte!
Dupla verificação:Você provavelmente precisará do certificado de CA raiz confiável (a CA que emitiu o certificado de assinatura de código) instalado, bem como do próprio certificado em "Editores confiáveis" para executar scripts do PowerShell assinados.