Documentação Técnica — CyberCore Signer
Índice Unificado e Guias Técnicos do Agente Desktop e Protocolo CCSP
Bem-vindo à documentação oficial do CyberCore Signer. O agente foi desenvolvido em Java 25 LTS com interface JavaFX e segurança criptográfica nativa JCA/JCE, permitindo que aplicações web autorizadas realizem operações de assinatura digital e autenticação com certificados ICP-Brasil (A1 em arquivo e A3 em tokens/smartcards físicos) mantendo as chaves privadas estritamente no dispositivo do usuário.
🗺️ Trilhas de Navegação por Perfil
Para facilitar a consulta, os documentos estão organizados de acordo com o seu perfil de atuação:
🌐 1. Para Desenvolvedores Web e Integradores
Se você desenvolve aplicações web (frontend/backend) que precisam interagir com o agente do usuário:
- Protocolo CCSP/1 (CyberCore Signing Protocol): Especificação completa da API REST local (
127.0.0.1:21325), endpoints, ciclo de handshake, proteção anti-replay e exemplos de requisição/resposta. - SDK Web JavaScript (@cybercore/signer-sdk): Manual de instalação e uso da biblioteca oficial cliente para integração em aplicações web (Vite, Next.js, Vue, Angular, Vanilla JS).
- Autenticação e Login Digital ICP-Brasil: Fluxo de autenticação segura via desafio criptográfico (Challenge-Response) para substituição ou complemento de senhas tradicionais.
- Catálogo Estruturado de Erros: Lista completa de códigos de erro (
CcspErrorCode), status HTTP correspondentes e orientações de tratamento na interface web.
☕ 2. Para Desenvolvedores Desktop e Contribuidores
Se você atua no desenvolvimento, manutenção ou auditoria do código-fonte do agente desktop:
- Arquitetura do Sistema: Organização modular Maven (
cybercore-core,cybercore-ui,cybercore-app), fluxo de dados por digest, modelo de concorrência com fila FIFO (signLock) e isolamento de dependências. - Certificados A1, A3 e PKCS#11: Funcionamento dos provedores
Pkcs12CertificateProvider,WindowsCertificateStoreProvider(SunMSCAPI/CNG) ePkcs11CertificateProvider(SunPKCS11), monitoramento dinâmico PC/SC (SmartCardWatcher) e extração de OIDs ICP-Brasil. - Assinaturas PDF (PAdES) e Selos Visuais SVG: Motor de assinatura PDFBox + Bouncy Castle, salvamento incremental, renderização de alta resolução (300 DPI Java2D) e gerenciamento de selos digitais.
- Assinaturas XML (XAdES-BES e XMLDSig): Conformidade com o padrão ETSI TS 101 903 / DOC-ICP-15.03 e suporte a notas fiscais eletrônicas (NF-e, CT-e, MDF-e, eSocial).
- Layout Dual-Theme e Assinatura em Lote: Especificação de interface gráfica moderna, alternância dinâmica de tema (Claro/Escuro) e fila de processamento em lote.
- Modo de Desenvolvimento: Guia de inicialização em modo
--dev, políticas de não utilização de mocks em produção e geração de certificados A1 de teste locais.
🛡️ 3. Para DevOps, Infraestrutura e Segurança
Se você precisa implantar, homologar ou validar os aspectos de conformidade e segurança da solução:
- Modelo de Segurança e Privacidade: Diretrizes de menor privilégio, proteção contra CSRF e DNS Rebinding, descarte seguro de senhas e PIN em memória e conformidade com a LGPD.
- Instalação e Empacotamento Nativo: Criação de instaladores autocontidos para Windows (MSI/EXE) via
jpackage, requisitos do sistema e parâmetros de instalação corporativa silenciosa. - Estratégia de Versionamento e Release: Padrão SemVer 2.0.0, plano progressivo de cobertura JaCoCo e roteiro para corte da primeira tag v0.1.0.
- Diagnóstico e Troubleshooting: Subsistema de auto-teste, checklist de integridade de runtime e guia de resolução de problemas comuns de hardware/middleware.
- Limitações Técnicas Declaradas: Declaração formal de requisitos de drivers, limitações de hardware mono-thread e dependências de sistema operacional (em conformidade com a Regra 23 do projeto).
📋 Sumário Geral de Arquivos
| Documento | Assunto Principal | Público-Alvo |
|---|---|---|
CCSP.md |
Especificação técnica do protocolo local CCSP versão 1 | Integradores Web & Core Devs |
architecture.md |
Estrutura modular, threading e fluxo de operações | Desenvolvedores Desktop |
a1-a3-certificates.md |
Provedores A1/A3, PKCS#11, PC/SC e OIDs ICP-Brasil | Especialistas em Criptografia |
pades.md |
Assinatura PAdES, envelope CMS e selos vetoriais | Desenvolvedores Desktop & Web |
xml-xmldsig.md |
XAdES-BES, XMLDSig e documentos fiscais | Integradores de NF-e/XAdES |
authentication-login.md |
Login Challenge-Response via ICP-Brasil | Integradores Web |
errors.md |
Tabela estruturada de erros e mapeamentos HTTP | Todos |
security.md |
Políticas de isolamento, memória e privacidade | Segurança & Compliance |
diagnostics.md |
Auto-testes e guia de resolução de problemas | Suporte & Operações |
installation.md |
Empacotamento com jpackage e instaladores MSI |
DevOps & Usuários Finais |
release-and-versioning.md |
Estratégia SemVer, metas JaCoCo e corte de tags | DevOps & Governança |
compliance-testing.md |
Guia de Conformidade ICP-Brasil e Verificador ITI | Compliance & QA |
compatibility.md |
Matriz de compatibilidade de hardware A3 e SoftHSM2 | Suporte & Hardware |
limitations.md |
Dependências de drivers e limitações declaradas | Todos |
development-mode.md |
Parâmetro --dev e certificados de teste |
Desenvolvedores Desktop |
sdk.md |
Guia completo da biblioteca JavaScript | Desenvolvedores Web |
browser-compatibility.md |
Compatibilidade de navegadores, HTTPS para loopback e Private Network Access (PNA) | Integradores Web & Segurança |
ccsp-v1.schema.json |
JSON Schema formal e versionado do protocolo CCSP/1 | Integradores & QA |
sdk-release-process.md |
Processo de publicação e release do SDK no registry npm privado | DevOps & Engenharia |
serpro-layout-and-batch.md |
Design de interface e processamento em lote | UI/UX & Desenvolvedores |
Dúvidas ou inconsistências? Verifique os testes unitários e de arquitetura em
modules/cybercore-core/src/testou consulte o arquivo README.md principal.