﻿# Assinaturas digitais — REP-P / PTRP (projeto técnico)

## Separação de contextos

| Uso atual no produto | Adequado para ponto 671? |
|----------------------|--------------------------|
| `BackendPdfDigitalSigner` (A1 RSA solto / HMAC) | **Não** como PAdES/CAdES |
| Certificado holerite/contrato | Escopo distinto; não misturar |

## PAdES — comprovante

- Assinar PDF **após** geração; não modificar bytes depois
- Certificado ICP-Brasil da desenvolvedora do REP-P
- Dev: certificado de teste **rotulado**; prod: exigir ICP-Brasil
- Falha de assinatura → comprovante **não** marcado como assinado
- Teste: alterar 1 byte do PDF → assinatura inválida

## CAdES — AFD e AEJ

- Assinatura destacada `.p7s`
- Nome: nome completo do arquivo + `.p7s`
- ZIP opcional com ambos
- Validação de cadeia/revogação quando disponível
- Bloquear se certificado expirado

## Armazenamento seguro

- `.pfx` fora de `public/`, fora do Git
- Senha só em env / secret manager
- Metadados em `rep_p_certificates` (fingerprint, validade, purpose)
- Sem download de chave privada no painel comum
- Alerta de vencimento no painel de conformidade
- Logs sem senha/token/chave

## Variáveis de ambiente (nomes)

```
REP_P_A1_PFX_PATH
REP_P_A1_PFX_PASSWORD
PTRP_A1_PFX_PATH
PTRP_A1_PFX_PASSWORD
REP_P_SIGNING_ENV=dev|prod
```

## Atestado Anexo VII

Assinatura **somente** das pessoas físicas (responsável legal e técnico), não do certificado da empresa no lugar delas. Sistema gera PDF e registra upload/validação do assinado.
