CyberCore Signer

Agente Desktop Nativo de Assinatura Digital e Autenticação Criptográfica (A1 / A3 / PKCS#11) para Windows e Linux.

Java 25 JavaFX 25 Protocol CCSP/1 Standard ICP-Brasil License

O CyberCore Signer é uma solução desktop desenvolvida em Java 25 LTS com interface gráfica moderna JavaFX e segurança criptográfica estrita JCA/JCE. Permite que aplicações web autorizadas solicitem assinaturas digitais, autenticação de sessão e validação de documentos utilizando certificados digitais padrão ICP-Brasil (A1 em arquivo e A3 em tokens/smartcards físicos) conectados ou instalados na máquina do usuário.

A comunicação local entre a página web e o agente utiliza o protocolo CCSP (CyberCore Signing Protocol) via HTTP localhost (127.0.0.1:21325), garantindo isolamento total de rede, consentimento visual explícito e preservação integral das chaves privadas na máquina local.


⚡ Quick Start

🌐 Para Aplicações Web (via SDK JavaScript)

Instale e utilize o SDK oficial @cybercore/signer-sdk para conectar sua aplicação web ao agente local em poucos passos:

import { CyberCoreSigner } from '@cybercore/signer-sdk';

// 1. Inicializar o cliente do assinador
const signer = new CyberCoreSigner({
  applicationName: 'Portal Meu Negócio'
});

// 2. Obter certificados disponíveis na máquina do usuário
const certificates = await signer.getCertificates();
const cert = certificates[0]; // Seleciona o primeiro certificado disponível

// 3. Assinar o hash SHA-256 de um documento (a chave nunca sai da máquina!)
const result = await signer.sign({
  certificateId: cert.id,
  digest: '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=',
  documentName: 'contrato_prestacao_servicos.pdf'
});

console.log('Assinatura gerada:', result.signature);
console.log('Certificado titular:', result.subject_name);

Para o manual completo com exemplos de login digital, assinatura de PDF e XML, consulte o Guia do SDK.


☕ Para Desenvolvedores Desktop

Requisitos

  • Java Development Kit (JDK): Versão 25 LTS (OpenJDK, Temurin ou Corretto).
  • Maven: 3.9+ (ou utilizar o ./mvnw embutido).
  • Sistema Operacional: Windows 10/11 ou Linux x86_64.

Compilação e Execução

# Compilar e gerar o JAR consolidado (Fat JAR sombreado):
./mvnw clean package -DskipTests

# Executar o agente no Linux / macOS:
./run.sh

# Executar o agente no Windows:
run.bat

# Executar com logs detalhados de diagnóstico:
java -jar modules/cybercore-app/target/cybercore-signer.jar --dev

🏛 Arquitetura do Projeto

O projeto é estruturado em módulos Maven desacoplados, garantindo isolamento entre regras criptográficas de baixo nível e a camada de interface gráfica:

  • modules/cybercore-core: Núcleo de regras criptográficas (JCA/JCE, SunPKCS11, X.509, PAdES com Apache PDFBox e Bouncy Castle, XAdES-BES/XMLDSig, carimbo de tempo TSA, LTV, fila FIFO de concorrência e validação de cadeias). Agnóstico de UI, sem nenhuma dependência de JavaFX.
  • modules/cybercore-ui: Interface gráfica com o usuário construída em JavaFX 25, apresentando design moderno com alternância dinâmica Claro/Escuro (Dual-Theme), Dashboard, Gerenciador de Certificados, Designer de Selos Visuais SVG com Live Preview, Diálogos de Confirmação de Assinatura, PIN dialog e System Tray.
  • modules/cybercore-app: Ponto de entrada da aplicação (CyberCoreApp), orquestrador dos serviços de ciclo de vida, diagnóstico pré-inicialização e servidor CCSP local.
  • sdk/: SDK JavaScript oficial (@cybercore/signer-sdk) para integração simplificada de aplicações web modernas com o agente desktop.
  • docs/: Documentação técnica abrangente contendo especificações do protocolo, arquitetura, segurança e manuais de integração.

📊 Matriz de Recursos e Conformidade

Recurso Padrão / Tecnologia Descrição
Certificados A1 PKCS#12 / .pfx / .p12 Leitura em memória volátil com destruição segura de senhas
Certificados A3 Windows-MY (CryptoAPI/CNG) & PKCS#11 Acesso nativo a tokens USB e smartcards (SafeSign, SafeNet, GD Burti, OpenSC)
Assinatura PDF PAdES (ISO 32000-1 / ETSI TS 102 778) Envelope CMS/PKCS#7, suporte a salvamento incremental e carimbo TSA
Selos Visuais PDF Renderização Java2D de Alta Resolução (300 DPI) Brasões vetoriais, upload de logos, controle de sigilo de CPF (LGPD) e pré-visualização interativa
Assinatura XML XAdES-BES (ETSI TS 101 903 / DOC-ICP-15.03) Suporte completo a NF-e, CT-e, MDF-e, eSocial e documentos envelopados
Assinatura Genérica CMS / CAdES / P7S / P7M Modalidades atachada (enveloped) e destacada (detached)
Login Digital Challenge-Response ICP-Brasil Autenticação web segura sem senhas tradicionais
Validação Verificação Criptográfica Local Auditoria de integridade de hashes, validade de certificados e signatários
Interface Desktop JavaFX 25 com Dual-Theme Modo Claro e Modo Escuro com comutação instantânea e atalhos na bandeja
Protocolo Local CCSP/1 REST (127.0.0.1:21325) Bind estrito em loopback, proteção anti-replay via nonce e autorização de origens

🔒 Princípios Fundamentais de Segurança

  1. A Chave Privada Permanece na Estação de Trabalho: A chave privada e os segredos (PIN do token A3 ou senha do arquivo A1) nunca saem da máquina do usuário nem trafegam pela rede ou saem em logs.
  2. Assinatura por Digest Descentralizada: Por padrão, a aplicação web calcula o hash SHA-256 do documento localmente e o CyberCore assina apenas o digest de 32 bytes, eliminando o tráfego desnecessário de arquivos inteiros.
  3. Consentimento Visual Explícito: Nenhuma operação de assinatura ocorre silenciosamente. Toda requisição exige autorização física do usuário em diálogo nativo do sistema operacional.
  4. Isolamento de Origem e Anti-Replay: Cada requisição web deve apresentar identificador de aplicação aprovado, nonce único com validação temporal (expires_at) e cabeçalho de origem verificado.
  5. Fila FIFO de Operações: O acesso a tokens físicos A3 é protegido por trava de concorrência (signLock) serializada, prevenindo travamento ou corrupção de sessão nos chips criptográficos.

📚 Documentação Técnica Detalhada

Para detalhes completos sobre arquitetura, protocolos e manuais técnicos, acesse o Portal de Documentação ou consulte diretamente os links abaixo:


📄 Licença e Propriedade

Copyright © 2026 CyberCore Systems. Todos os direitos reservados. Este software é proprietário e confidencial. O uso, distribuição ou modificação não autorizados são estritamente proibidos.

S
Description
No description provided
Readme
4.5 MiB
Languages
Java 86.4%
HTML 5.4%
JavaScript 3.6%
CSS 3.2%
Shell 1.1%
Other 0.3%