vick-ai-certificate / ASSINAR_COM_GPG.md
TechLifes's picture
Upload ASSINAR_COM_GPG.md with huggingface_hub
3c68800 verified
|
Raw
History Blame
5.68 kB
# 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
```bash
# Ubuntu/Debian
sudo apt install gnupg
# macOS
brew install gnupg
# Verificar
gpg --version
```
### 2. Criar Chave GPG (se não tiver)
```bash
# 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
```bash
# 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
```bash
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)
```bash
# 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
```bash
# 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:
```bash
# 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)
```bash
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)
```bash
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:
```bash
# 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:
```bash
gpg --keyserver keys.openpgp.org --recv-keys [KEY_ID]
```
---
## Automatização
Script completo para assinar e fazer upload:
```bash
#!/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**
```bash
rm vick_fingerprint.json.asc
```
2. **Criar nova assinatura**
```bash
gpg --detach-sign --armor vick_fingerprint.json
```
3. **Fazer upload**
```bash
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!
```bash
# 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:
````markdown
## 🔐 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!