Como Assinar o Certificado com GPG
A assinatura GPG adiciona prova criptográfica de autoria ao certificado.
Por Que Assinar?
✅ Prova de Autoria: Só você com a chave privada pode assinar ✅ Não-Repúdio: Você não pode negar que criou o certificado ✅ Integridade: Detecta qualquer alteração no arquivo ✅ Confiança: Qualquer pessoa pode verificar a assinatura
Passo a Passo
1. Instalar GPG
# Ubuntu/Debian
sudo apt install gnupg
# macOS
brew install gnupg
# Verificar
gpg --version
2. Criar Chave GPG (se não tiver)
# Gerar nova chave
gpg --full-generate-key
# Escolha:
# - Tipo: RSA and RSA (padrão)
# - Tamanho: 4096 bits
# - Validade: 0 (nunca expira) ou 2 anos
# - Nome: TechLifes
# - Email: contato@vick.ia.br
# - Senha: [escolha uma senha forte]
3. Exportar Chave Pública
# Listar chaves
gpg --list-keys
# Exportar chave pública (substitua EMAIL)
gpg --armor --export contato@vick.ia.br > techlifes.asc
# Ou export direto para arquivo
gpg --armor --export contato@vick.ia.br > /llama.cpp/HUGGINGFACE_UPLOAD/techlifes_public_key.asc
4. Assinar o Manifest
cd /llama.cpp/HUGGINGFACE_UPLOAD/
# Assinar vick_fingerprint.json
gpg --detach-sign --armor vick_fingerprint.json
# Isso cria: vick_fingerprint.json.asc
5. Verificar Assinatura (Teste Local)
# Verificar assinatura
gpg --verify vick_fingerprint.json.asc vick_fingerprint.json
# Deve mostrar: "Good signature from TechLifes <contato@vick.ia.br>"
6. Upload para HuggingFace
# Upload da assinatura
huggingface-cli upload TechLifes/vick-ai-certificate vick_fingerprint.json.asc
# Upload da chave pública
huggingface-cli upload TechLifes/vick-ai-certificate techlifes_public_key.asc
Verificação por Terceiros
Qualquer pessoa pode verificar a assinatura:
# 1. Baixar arquivos do HuggingFace
git clone https://huggingface.co/TechLifes/vick-ai-certificate
cd vick-ai-certificate
# 2. Importar chave pública
gpg --import techlifes_public_key.asc
# 3. Verificar assinatura
gpg --verify vick_fingerprint.json.asc vick_fingerprint.json
# Output esperado:
# gpg: Signature made [DATA]
# gpg: using RSA key [KEY_ID]
# gpg: Good signature from "TechLifes <contato@vick.ia.br>"
Formato da Assinatura
Assinatura Destacada (Recomendado)
gpg --detach-sign --armor vick_fingerprint.json
# Cria: vick_fingerprint.json.asc (só a assinatura)
Vantagens:
- Arquivo original não é modificado
- Assinatura em arquivo separado
- Padrão da indústria
Assinatura Incorporada (Alternativa)
gpg --clear-sign vick_fingerprint.json
# Cria: vick_fingerprint.json.asc (arquivo + assinatura)
Desvantagens:
- Modifica estrutura do JSON
- Menos compatível
Use assinatura destacada (detach-sign)!
Publicar Chave no Keyserver
Para maior confiança, publique a chave pública em keyservers:
# Obter fingerprint da chave
gpg --fingerprint contato@vick.ia.br
# Publicar em keyserver
gpg --keyserver keys.openpgp.org --send-keys [KEY_ID]
# Ou usar outros keyservers
gpg --keyserver keyserver.ubuntu.com --send-keys [KEY_ID]
Agora qualquer pessoa pode baixar sua chave automaticamente:
gpg --keyserver keys.openpgp.org --recv-keys [KEY_ID]
Automatização
Script completo para assinar e fazer upload:
#!/bin/bash
# assinar_e_publicar.sh
cd /llama.cpp/HUGGINGFACE_UPLOAD/
# Assinar
gpg --detach-sign --armor vick_fingerprint.json
# Exportar chave pública
gpg --armor --export contato@vick.ia.br > techlifes_public_key.asc
# Upload
huggingface-cli upload TechLifes/vick-ai-certificate vick_fingerprint.json.asc
huggingface-cli upload TechLifes/vick-ai-certificate techlifes_public_key.asc
echo "✅ Assinatura GPG criada e publicada!"
Renovação da Assinatura
Se você atualizar o vick_fingerprint.json:
Deletar assinatura antiga
rm vick_fingerprint.json.ascCriar nova assinatura
gpg --detach-sign --armor vick_fingerprint.jsonFazer upload
huggingface-cli upload TechLifes/vick-ai-certificate vick_fingerprint.json.asc --overwrite
Backup da Chave Privada
MUITO IMPORTANTE: Faça backup da chave privada em local seguro!
# Exportar chave privada
gpg --armor --export-secret-keys contato@vick.ia.br > techlifes_PRIVATE_key.asc
# ATENÇÃO: Guarde este arquivo em local SEGURO
# NÃO publique no HuggingFace ou Git!
# Mantenha em pendrive criptografado ou cofre
Verificação no README
Adicione ao README.md:
## 🔐 Verificação com GPG
Este certificado está assinado com GPG para prova de autoria.
### Verificar Assinatura
```bash
# 1. Baixar repositório
git clone https://huggingface.co/TechLifes/vick-ai-certificate
cd vick-ai-certificate
# 2. Importar chave pública
gpg --import techlifes_public_key.asc
# 3. Verificar assinatura
gpg --verify vick_fingerprint.json.asc vick_fingerprint.json
```
**Fingerprint da Chave**: [INSERIR FINGERPRINT AQUI]
FAQ
P: Preciso assinar? R: Não é obrigatório, mas muito recomendado para máxima credibilidade.
P: E se eu perder a chave privada? R: Você não poderá mais assinar atualizações. Sempre faça backup!
P: Posso usar chave existente? R: Sim! Use qualquer chave GPG que você já tenha.
P: Qual algoritmo usar? R: RSA 4096 bits (padrão e mais compatível)
Recomendação: Assine o certificado AGORA para adicionar prova criptográfica de autoria!