Como Assinar Digitalmente o Seu Arquivo EXE (Assinatura Digital)
Quando você assina digitalmente o arquivo EXE da sua planilha independente, garante aos usuários finais que o arquivo é autêntico e não foi adulterado. Esse processo, também conhecido como assinatura de código, utiliza a tecnologia Microsoft Authenticode® para verificar que o código provém de um editor confiável.

O XLS Padlock simplifica o processo de assinatura de código tratando internamente as etapas necessárias.

Como obter um certificado de assinatura de código
Section titled “Como obter um certificado de assinatura de código”Para assinar a sua aplicação, você precisa de um Code Signing Certificate (certificado de assinatura de código) válido de uma autoridade de certificação (CA) confiável, como Sectigo ou Digicert. Outros tipos de certificado, como SSL/TLS, não são compatíveis.
Certificados baseados em token (HSMs)
Section titled “Certificados baseados em token (HSMs)”Desde 1 de junho de 2023, todas as chaves privadas de novos certificados de assinatura de código devem ser armazenadas em hardware seguro, como um token USB compatível com FIPS 140-2 Level 2 ou um Hardware Security Module (HSM). Isso reforça a segurança ao evitar o roubo de chaves. O XLS Padlock funciona perfeitamente com certificados baseados em token; basta garantir que o token esteja conectado ao seu computador quando você compilar a sua aplicação.
Configurando a assinatura de código no XLS Padlock
Section titled “Configurando a assinatura de código no XLS Padlock”Na interface do XLS Padlock, vá até a aba Security -> EXE Code Signing. Para habilitar a assinatura, escolha o seu Code Signing Method (método de assinatura de código) preferido:
- PFX File: Utiliza um certificado armazenado em um arquivo
.pfx(ou.p12). Esse é um método legado para certificados antigos. Digite o caminho no campo PFX File Path ou clique no botão de navegação ao lado dele e, em seguida, digite a senha do certificado em Associated Password (if any). - Certificate Subject Name: Localiza o certificado no repositório de certificados do Windows pelo seu nome de sujeito (Subject Name). Esse é um método comum para certificados em tokens de hardware.
- Certificate Thumbprint: Localiza o certificado no repositório de certificados do Windows pela sua impressão digital única (Thumbprint, um hash SHA-1). Costuma ser o método mais confiável.
- SignTool Commands: Um método avançado que permite fornecer comandos personalizados para o utilitário
SignTool.exeda Microsoft, oferecendo o máximo de flexibilidade. Veja os marcadores de comando abaixo. - Azure Artifact Signing (formerly Trusted Signing): Assina a sua aplicação com o serviço baseado em nuvem da Microsoft. Consulte o nosso Tutorial do Azure Artifact Signing para a configuração inicial, e a opção Exclude credentials abaixo se a assinatura falhar após
az login. - JSign: Assina a sua aplicação com a ferramenta de código aberto JSign, que exige um runtime Java (JRE ou JDK) no PATH. Defina o caminho para
jsign.jarnas Global Preferences e, em seguida, digite um comando JSign por linha, usando os mesmos marcadores de comando do SignTool Commands.
Marcadores de comando para SignTool Commands e JSign
Section titled “Marcadores de comando para SignTool Commands e JSign”Com os métodos SignTool Commands e JSign, você digita um comando por linha. Antes de executar cada comando, o XLS Padlock substitui dois marcadores:
| Marcador | Substituído por |
|---|---|
{$OUTPUTFILE$} | O caminho completo do arquivo EXE a ser assinado. |
{$OUTPUTFOLDER$} | O caminho da pasta que contém o arquivo EXE, sem barra invertida final. |
Coloque entre aspas os caminhos que possam conter espaços. Para referenciar um arquivo ao lado do arquivo EXE, adicione você mesmo a barra invertida, por exemplo "{$OUTPUTFOLDER$}\my-metadata.json". É necessário o XLS Padlock 2026.2 ou posterior para que {$OUTPUTFOLDER$} seja substituído quando for seguido diretamente por uma barra invertida ou uma aspa. O comando SignTool padrão, definido nas Global Preferences, é:
sign /tr http://timestamp.sectigo.com /td sha256 /fd sha256 /a /v "{$OUTPUTFILE$}"Excluir credenciais (Azure Artifact Signing)
Section titled “Excluir credenciais (Azure Artifact Signing)”Quando o XLS Padlock assina com o método integrado Azure Artifact Signing, a ferramenta de assinatura da Azure tenta vários tipos de credenciais um após o outro, em uma ordem fixa, até que um deles seja bem-sucedido. Em alguns computadores, um tipo de credencial testado antes da credencial do Azure CLI falha e interrompe toda a operação de assinatura, mesmo que o az login tenha sido bem-sucedido e o perfil do certificado seja válido. O registro de compilação exibe então um erro de autenticação como MsalCachePersistenceException: Persistence check failed.
O campo opcional Exclude credentials (one per line, optional), disponível a partir do XLS Padlock 2026.2, lista os tipos de credenciais a serem ignorados. Clique em Exclude all except Azure CLI para preencher a configuração recomendada para um computador de desenvolvimento autenticado com az login: todos os tipos de credencial, exceto AzureCliCredential.

Os nomes aceitos são os nove tipos de credenciais documentados pela Microsoft: ManagedIdentityCredential, WorkloadIdentityCredential, SharedTokenCacheCredential, VisualStudioCredential, VisualStudioCodeCredential, AzureCliCredential, AzurePowerShellCredential, AzureDeveloperCliCredential e InteractiveBrowserCredential. Os nomes são verificados quando a assinatura é iniciada (sem diferenciação entre maiúsculas e minúsculas; linhas em branco e duplicatas são ignoradas). Um nome desconhecido interrompe a assinatura com um erro, pois, caso contrário, a ferramenta de assinatura o ignoraria silenciosamente. Deixe o campo vazio para manter o comportamento padrão: os metadados de assinatura ficam então idênticos aos das versões anteriores. O valor é salvo com o seu projeto.
O XLS Padlock grava o arquivo de metadados de assinatura (sign-metadata.json) ao lado do arquivo EXE de saída em cada assinatura. Não edite esse arquivo manualmente: as suas alterações seriam substituídas na próxima compilação.
Realizando a assinatura
Section titled “Realizando a assinatura”- Assinatura manual: Clique em Sign EXE File Now para assinar imediatamente o último arquivo EXE compilado.
- Assinatura automática: Marque Automatically sign my EXE file para que o XLS Padlock assine o EXE toda vez que você compilar a sua aplicação.