top of page

Assinatura de código gratuita para código aberto: nossa candidatura à SignPath 🔏

Foto do escritor: Marcel Dütscher
Marcel Dütscher
12 de jul.
2 min de leitura

Quem instala nosso jogo no Windows talvez conheça o momento: “O Windows protegeu seu computador” — o SmartScreen avisa sobre um “editor desconhecido” e é preciso clicar primeiro em “Mais informações → Executar assim mesmo”. Isso não é vírus; é só porque nossos instaladores ainda não estão assinados. Queremos acabar com esse aviso — sem ter que comprar um certificado caro.


O problema dos certificados de assinatura de código. Um certificado de editor para Windows (OV ou EV) custa dinheiro todo ano, muitas vezes atrelado à verificação de empresa e a um token de hardware. Para um estúdio comercial, é um item entre muitos. Para um projeto familiar de código aberto, é um obstáculo real — e, de certa forma, também o obstáculo errado: nós somos transparentes, todo o código-fonte é público.


A solução: a SignPath Foundation. A SignPath oferece assinatura de código gratuita para projetos de código aberto. É exatamente isso que acabamos de solicitar. Nada foi aprovado ainda — a análise está em andamento —, mas a preparação foi instrutiva o bastante para compartilhar. Se vocês querem assinar o próprio projeto de código aberto, foi isto que tivemos que fazer.


1. Os pré-requisitos. Um repositório público, uma licença reconhecida pela OSI (AGPL-3.0, no nosso caso), versões publicadas com desenvolvimento ativo e documentação visíveis — e, sem negociação: autenticação em dois fatores na conta do GitHub. Um pouco de reputação do projeto também ajuda: um site, vídeos, algumas estrelas.


2. A política de assinatura de código (a parte mais importante). A SignPath quer saber exatamente como a assinatura acontece no projeto de vocês. Por isso adicionamos ao repositório um CODE_SIGNING.md que explica: qual repositório é o oficial, quais artefatos são assinados, que somente o workflow de release da CI assina (nunca uma compilação local no notebook de alguém), quem aprova os releases — e um link para a política de privacidade. Este ponto é o coração da candidatura.


3. A página de download precisa mencionar a SignPath. O formulário pede uma “URL de download” que faça referência à SignPath. Reescrevemos o aviso de segurança do nosso README para isso. A honestidade foi importante para nós: enquanto nada estiver assinado, ele diz explicitamente que a assinatura está sendo configurada — sem prometer o que ainda não é verdade.


4. Uma política de privacidade de verdade. Se o software de vocês processa dados — no nosso caso, relatórios de falhas e contas de jogadores —, vocês precisam de uma política de privacidade real conforme o GDPR, não de um texto de exemplo de construtor de sites.


5. Enviar. Preencher o formulário (repositório, página inicial, URLs de download e de privacidade, uma frase sobre o projeto, reputação, sistema de build = GitHub Actions), marcar as caixas obrigatórias e enviar.


Agora esperamos: a análise é manual, geralmente de uma a duas semanas, possivelmente com perguntas adicionais. Se for aprovada, vamos integrar a etapa de assinatura ao nosso pipeline de CI — e aí o aviso do SmartScreen desaparece para todo mundo que baixar o jogo. Assim que tivermos resposta, a parte 2 virá com a integração concreta na CI.


Torçam por nós. 🤞

Posts recentes

Ver tudo

Comentários


Não é mais possível comentar esta publicação. Contate o proprietário do site para mais informações.
bottom of page