File size: 5,677 Bytes
ed429bf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3c68800
ed429bf
 
3c68800
ed429bf
 
 
 
 
 
 
 
 
 
3c68800
ed429bf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3c68800
 
ed429bf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3c68800
ed429bf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3c68800
ed429bf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
# 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!