Ferramentas de criptografia
As ferramentas de criptografia fornecem ferramentas de linha de comando para assinatura de código, verificação de assinatura e outras tarefas de criptografia.
Introdução à assinatura de código
A indústria de software deve fornecer aos usuários os meios para confiar no código, incluindo o código publicado na Internet. Muitas páginas da Web contêm apenas informações estáticas que podem ser baixadas com pouco risco. Algumas páginas, no entanto, contêm controles e aplicativos para serem baixados e executados no computador de um usuário. Esses arquivos executáveis podem ser arriscados para baixar e executar.
O software embalado usa marcas e pontos de venda confiáveis para garantir aos usuários sua integridade, mas essas garantias não estão disponíveis quando o código é transmitido na Internet. Além disso, a própria Internet não pode fornecer qualquer garantia sobre a identidade do criador do software. Também não pode garantir que qualquer software descarregado não foi alterado após a sua criação. Os navegadores podem exibir uma mensagem de aviso que explica os possíveis perigos do download de dados de qualquer tipo, mas os navegadores não podem verificar se o código é o que afirma ser. Deve ser adotada uma abordagem mais ativa para tornar a Internet um meio fiável de distribuição de software.
Uma abordagem para fornecer garantias de autenticidade e integridade dos arquivos é anexar assinaturas digitais a esses arquivos. Uma assinatura digital anexada a um arquivo identifica positivamente o distribuidor desse arquivo e garante que o conteúdo do arquivo não foi alterado após a assinatura ter sido criada.
As assinaturas digitais podem ser criadas e verificadas usando as APIs de criptografia da Microsoft. Para obter informações básicas sobre criptografia e as funçõesCryptoAPI, consulte Cryptography Essentials.
Para obter informações detalhadas sobre assinaturas digitais, certificados e armazenamentos de certificados, consulte os seguintes tópicos:
- Hashes e assinaturas digitais
- Certificados Digitais
- Gerenciando certificados com armazenamentos de certificados
- de Verificação de Confiança do Certificado
Atualmente, o CryptoAPI Tools suporta a tecnologia Microsoft Authenticode, permitindo que os fornecedores de software assinem os seguintes tipos de arquivos para verificação do Authenticode.
Extensão de nome de arquivo | Índice |
---|---|
.appx, .msix, .appxbundle, .msixbundle |
Pacotes de aplicativos do Windows. |
.cab |
Arquivos autônomos usados para instalação e configuração de aplicativos. Em um arquivo de gabinete, vários arquivos são compactados em um arquivo. Eles são comumente encontrados em discos de distribuição de software da Microsoft. |
.cat |
Os ficheiros que contêm impressões digitais digitais de vários ficheiros. Um arquivo .cat pode ser usado para garantir a integridade dos arquivos cujas impressões digitais ele inclui. |
.dll |
Arquivos que contêm funções executáveis. |
.exe |
Arquivos que contêm programas executáveis. |
.js .vbs .wsf |
Arquivos de shell do Windows para JScript ou Microsoft Visual Basic Scripting Edition (VBScript). |
.msi .msp .mst |
Arquivos do instalador do Windows. |
.ocx |
Arquivos que contêm controles Microsoft ActiveX. |
.ps1 |
Arquivos que contêm scripts do PowerShell. |
.stl |
Arquivos que contêm uma lista de confiança de certificado (CTL). |
.sys |
Arquivos que contêm binários de driver. |
Para obter informações sobre assinatura digital, consulte os seguintes documentos:
- CCITT, Recomendação X.509, The Directory-Authentication Framework, Comité de Consulta, International Telephone and Telegraph, União Internacional das Telecomunicações, Genebra, 1989.
- RSA Laboratories, PKCS #7: Cryptographic Message Syntax Standard. Versão 1.5, novembro de 1993.
- Schneier, Bruce, Applied Cryptography, 2d ed. Nova Iorque: John Wiley & Sons, 1996.
- https://www.rsa.com
Observação
Esses recursos podem não estar disponíveis em alguns idiomas e países ou regiões.
Ferramentas de criptografia da Microsoft
As ferramentas de publicação e a DLL de assinatura são instaladas no diretório \Bin da instalação do Microsoft SDK. Eles incluem os seguintes arquivos.
Nome do ficheiro | Comentários |
---|---|
Cert2SPC.exe | Cria um Software Publisher Certificate (SPC) apenas para fins de teste. |
CertMgr.exe | Gerencia certificados, CTLs e listas de revogação de certificados (CRLs). |
MakeCat.exe | Cria um arquivo de catálogo não assinado que contém os hashes de um conjunto de arquivos, juntamente com os atributos associados de cada arquivo. |
MakeCert.exe | Cria um certificado de X.509 apenas para fins de teste. |
Pvk2pfx.exe | Converte um arquivo de certificado de editor de software (.spc) ou um arquivo de chave privada (.pvk) para o formato de arquivo PFX (Personal Information Exchange). |
SetReg.exe | Define chaves do Registro que controlam a verificação de certificados. |
SignTool.exe | Assina e carimba a hora de um arquivo. Além disso, verifica a assinatura de um arquivo. |