vick-ai-certificate / ASSINAR_COM_GPG.md
TechLifes's picture
Upload ASSINAR_COM_GPG.md with huggingface_hub
3c68800 verified

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:

  1. Deletar assinatura antiga

    rm vick_fingerprint.json.asc
    
  2. Criar nova assinatura

    gpg --detach-sign --armor vick_fingerprint.json
    
  3. Fazer 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!