Como Solicitar e Usar um Certificado de Assinatura de Código
Introdução ao Certificado de Assinatura de Código
O certificado de assinatura de código é usado para assinar digitalmente códigos de software, visando verificar a identidade do publicador do software e garantir a integridade do código. Ele assegura ao usuário que o software provém de uma fonte confiável e que não foi alterado ou modificado maliciosamente após a publicação. Isso é crucial para construir a confiança do usuário e prevenir a propagação de software malicioso.
Utilidades do Certificado de Assinatura de Código:
- **Verificação da Identidade do Publicador: ** O certificado de assinatura de código verifica a origem do software, garantindo aos usuários que o software vem de um desenvolvedor ou organização legítima.
- **Garantia da Integridade do Código: ** Assinaturas digitais podem provar que o código não foi modificado desde que foi assinado, prevenindo injeção ou alteração maliciosa.
- **Aumento da Confiança do Usuário: ** Software assinado pode eliminar avisos de segurança emitidos pelo sistema operacional ou navegador, aumentando a confiança do usuário e encorajando a instalação e uso.
- **Prevenção da Propagação de Software Malicioso: ** A assinatura de código ajuda os usuários a identificar e evitar a instalação de software potencialmente malicioso que não esteja assinado ou venha de fontes desconhecidas.
Solicitação de Certificado de Assinatura de Código via ServBay
**Abra o painel de gerenciamento de certificados SSL: ** No menu lateral do ServBay, clique em "Certificados SSL" para acessar a plataforma de gerenciamento de certificados.
**Clique no botão adicionar: ** Clique no botão "+" no canto superior direito.
**Preencha as informações do certificado: ** Na página "Solicitar Certificado", preencha as seguintes informações:
- Nome Comum: Insira o nome de sua organização ou seu nome pessoal. Por exemplo,
ServBay, LLC
ouSam NG
. - Finalidade de Uso: Escolha a finalidade do certificado, selecione
Assinatura de Código
. - Método de Solicitação: Selecione
ServBay CA
. - Emissor: Selecione
ServBay User CA
. - Algoritmo: Escolha o algoritmo de criptografia, como
ECC
ouRSA
. - Comprimento da Chave: Selecione o comprimento da chave, por exemplo,
384
ou2048
. - Senha: Importante! Defina uma senha para proteger sua chave privada. Lembre-se desta senha, pois se perdê-la, não poderá recuperá-la. A senha padrão é
ServBay.dev
.
- Nome Comum: Insira o nome de sua organização ou seu nome pessoal. Por exemplo,
**Clique no botão "Solicitar": ** Após completar todas as etapas, clique no botão "Solicitar" para enviar a solicitação de certificado. O ServBay emitirá o certificado automaticamente.
Exportação e Uso do Certificado
- Entre no painel de gerenciamento de certificados SSL.
- Encontre o certificado de assinatura de código emitido.
- **Clique no botão de ação: ** Clique no ícone de exportação à direita do certificado.
- **Escolha o diretório de exportação: ** Na janela que se abre, escolha o local onde deseja salvar o certificado exportado.
- **Use a ferramenta de assinatura de código: ** Importe o arquivo
.p12
exportado para sua ferramenta de assinatura de código (por exemplo,codesign
(macOS),signtool
(Windows), etc.) e use a senha configurada anteriormente para desbloqueá-lo. Depois disso, você poderá usar o certificado para assinar digitalmente o seu código.
Exemplo de Uso de Certificado de Assinatura de Código para Assinar Código
$ gcc test.c -o /tmp/test # Usar gcc para gerar um arquivo binário para teste
$ security find-identity -v -p codesigning # Encontrar certificados disponíveis para assinatura de código
1) ...
2) 99C183BC3796067FAFBA6F232D1C3C3425DAABDA "ServBay, LLC"
2 valid identities found
$ codesign -f -s "99C183BC3796067FAFBA6F232D1C3C3425DAABDA" --timestamp /tmp/test # Usar o ID do certificado encontrado para assinar
test: replacing existing signature
$ codesign -dvvv /tmp/test # Verificar se a assinatura está correta
Executable=/tmp/test
Identifier=test
Format=Mach-O thin (arm64)
CodeDirectory v=20400 size=445 flags=0x0(none) hashes=9+2 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha256=777e597ce37ad27e7b90d2aaaeeb9f1449170639
CandidateCDHashFull sha256=777e597ce37ad27e7b90d2aaaeeb9f1449170639a73e8090b1d9d1245d7f191b
Hash choices=sha256
CMSDigest=777e597ce37ad27e7b90d2aaaeeb9f1449170639a73e8090b1d9d1245d7f191b
CMSDigestType=2
CDHash=777e597ce37ad27e7b90d2aaaeeb9f1449170639
Signature size=7247
Authority=ServBay, LLC
Authority=ServBay Public CA - ECC Code Signing
Authority=ServBay Public CA - ECC Root
Timestamp=Nov 7, 2024 at 18:26:48
Info.plist=not bound
TeamIdentifier=not set
Sealed Resources=none
Internal requirements count=1 size=80
$ echo "abcde" > test # Tentar corromper a assinatura do certificado no arquivo binário
$ codesign -dvvv test # Verificar a assinatura novamente
test: code object is not signed at all
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Renovação de Certificado
O certificado de assinatura de código do ServBay tem validade de 800 dias. Antes de expirar, você pode clicar no botão à direita para renová-lo. A cada renovação, o período de validade é de data corrente + 800 dias.
Exclusão de Certificado
- Entre no painel de gerenciamento de certificados SSL.
- Encontre o certificado que deseja excluir.
- **Clique no botão de ação: ** Clique no ícone de lixeira à direita do certificado.
- **Confirme a exclusão: ** No menu pop-up, selecione "Delete" e confirme a operação de exclusão.
Resumo
Espero que esta documentação possa ajudá-lo a solicitar e usar o certificado de assinatura de código na plataforma ServBay. Se você tiver alguma dúvida, entre em contato com o atendimento ao cliente do ServBay para obter ajuda.