# Configurações da Empresa

Esta página cobre os requisitos e a implementação dos novos campos e medidas de segurança na tela de configurações da empresa (`/settings/company`).

## Campos Obrigatórios
- Logradouro, Número, Complemento, Bairro, Cidade, Estado (UF), CEP, País
- Razão social, Nome fantasia, CNPJ

Validações:
- CNPJ: `Gestoreasy\Core\Validation\Br::isCNPJ`
- CEP: `Gestoreasy\Core\Validation\Br::isCEP`
- E-mail: `FILTER_VALIDATE_EMAIL`
- UF: 2 letras maiúsculas

Máscaras (frontend):
- CNPJ e CEP com formatação amigável no `views/settings/company.php`.

## Segurança Reforçada
- MFA obrigatório nos endpoints da API de configurações: enviar header `x-mfa-token`.
  - Obtenha o token em `/api/auth/mfa/verify` após habilitar o TOTP.
- Criptografia AES-256-GCM da senha do certificado:
  - Colunas: `cert_password_enc`, `cert_password_iv`, `cert_password_tag`, `cert_kdf_salt` em `empresas`.
  - A coluna legada `cert_password` é mantida nula.
- Integridade do certificado A1: upload `.pfx/.p12` e leitura via OpenSSL usando a senha informada.

## Auditoria
- Atualizações e criação registradas com `AuditLogger::logUpdate/logCreate` no recurso `settings_company`.

## Migrações
- `002_company_address.sql`: adiciona campos de endereço em `empresas`.
- `003_company_cert_secure.sql`: adiciona colunas de criptografia para senha do certificado.

## Testes
- `tests/SettingsCompanyTest.php` valida:
  - Persistência de endereço
  - MFA obrigatório nos endpoints
  - Criptografia da senha do certificado