Files
cybercore-signer/docs/development-mode.md
T

3.5 KiB

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:

# 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)

openssl genrsa -out teste_signer.key 2048

Passo 2: Gerar o Certificado X.509 Autoassinado

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)

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):

# 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.