90 lines
3.5 KiB
Markdown
90 lines
3.5 KiB
Markdown
# Modo de Desenvolvimento e Homologação
|
|
|
|
> **Diretrizes para Execução Local com Argumento `--dev`, Testes e Criação de Certificados A1 de Homologação**
|
|
|
|
O **CyberCore Signer** opera exclusivamente com certificados digitais e provedores criptográficos reais (arquivos `.pfx`/`.p12`, Windows-MY e tokens físicos PKCS#11). Em cumprimento às normas de integridade do projeto, **não existem mocks ou certificados artificiais no runtime de produção**.
|
|
|
|
---
|
|
|
|
## 1. Ativação do Modo de Desenvolvimento
|
|
|
|
Para iniciar o agente em ambiente de homologação e desenvolvimento com logs estendidos de auditoria e detalhamento de operações de rede, utilize o argumento de linha de comando `--dev`:
|
|
|
|
```bash
|
|
# Executando via script Linux / macOS:
|
|
./run.sh --dev
|
|
|
|
# Executando no Windows:
|
|
run.bat --dev
|
|
|
|
# Ou diretamente pelo JAR compilado:
|
|
java -jar modules/cybercore-app/target/cybercore-signer.jar --dev
|
|
```
|
|
|
|
Ao ser iniciado com esta flag, o agente imprime no terminal o banner de diagnóstico:
|
|
```
|
|
=========================================================
|
|
CYBERCORE SIGNER — MODO DE DESENVOLVIMENTO ATIVADO (--dev)
|
|
Logs detalhados ativos. Operação com certificados reais JCA/JCE.
|
|
Servidor local CCSP/1 pronto em: http://127.0.0.1:21325
|
|
=========================================================
|
|
```
|
|
|
|
---
|
|
|
|
## 2. Geração de Certificados A1 de Teste com OpenSSL
|
|
|
|
Para desenvolvedores e testadores que precisam simular fluxos completos de assinatura digital (PAdES, XAdES, login digital) sem utilizar um certificado ICP-Brasil real de produção, é possível gerar um certificado digital de teste no formato `.pfx` protegido por senha utilizando o utilitário **OpenSSL**:
|
|
|
|
### Passo 1: Gerar a Chave Privada RSA (2048 bits)
|
|
```bash
|
|
openssl genrsa -out teste_signer.key 2048
|
|
```
|
|
|
|
### Passo 2: Gerar o Certificado X.509 Autoassinado
|
|
```bash
|
|
openssl req -new -x509 -key teste_signer.key -out teste_signer.crt -days 365 \
|
|
-subj "/C=BR/O=ICP-Brasil Teste/OU=Desenvolvimento CyberCore/CN=DESENVOLVEDOR TESTE:12345678900"
|
|
```
|
|
|
|
### Passo 3: Exportar o Certificado e Chave no Contêiner PKCS#12 (`.pfx`)
|
|
```bash
|
|
openssl pkcs12 -export -out certificado_teste.pfx \
|
|
-inkey teste_signer.key -in teste_signer.crt \
|
|
-name "DESENVOLVEDOR TESTE:12345678900" \
|
|
-passout pass:123456
|
|
```
|
|
|
|
### Passo 4: Importar no CyberCore Signer
|
|
1. Abra o CyberCore Signer.
|
|
2. Na tela principal, clique em **"Importar A1 (.pfx/.p12)"**.
|
|
3. Selecione o arquivo `certificado_teste.pfx` gerado e informe a senha `123456`.
|
|
4. O certificado aparecerá instantaneamente como disponível no Dashboard e poderá ser utilizado para todos os testes do SDK e CCSP/1.
|
|
|
|
---
|
|
|
|
## 3. Execução da Suíte de Testes Automatizados
|
|
|
|
O repositório do CyberCore Signer conta com suíte abrangente de testes unitários, testes de concorrência e testes de arquitetura (ArchUnit):
|
|
|
|
```bash
|
|
# Executar todos os testes unitários do projeto:
|
|
./mvnw test
|
|
|
|
# Executar testes específicos do protocolo CCSP/1:
|
|
./mvnw test -Dtest=CcspServerTest
|
|
|
|
# Executar testes de concorrência e trava FIFO (signLock):
|
|
./mvnw test -Dtest=CcspConcurrencyTest
|
|
|
|
# Executar testes de conformidade arquitetural (garante desacoplamento de UI no core):
|
|
./mvnw test -Dtest=ArchitectureTest
|
|
```
|
|
|
|
---
|
|
|
|
## 4. Garantia de Operação Real
|
|
|
|
1. **Assinaturas Autênticas:** Mesmo ao utilizar um certificado autoassinado de teste, os bytes da assinatura são calculados matematicamente pelos algoritmos reais do JCA/JCE (`SHA256withRSA`).
|
|
2. **Sem Falsos Positivos:** O comportamento do agente é 100% idêntico entre o ambiente de teste e o ambiente de produção com tokens físicos A3.
|