# Diagnóstico de Ambiente e Auto-Teste O **CyberCore Signer** possui um subsistema nativo de diagnóstico integrado (`DiagnosticService`), permitindo auditoria detalhada de saúde e integridade técnica da máquina do usuário. --- ## 1. Itens Inspecionados no Diagnóstico Ao abrir a aba **Diagnóstico** na interface ou invocar `diagnosticService.runDiagnostic()`, o agente avalia: 1. **Ambiente Java / Runtime:** - Versão do Java (requer Java 21+ LTS, homologado em Java 25 LTS); - Vendor do JDK (Temurin, Oracle, etc.); - Arquitetura do processador e sistema operacional. 2. **Engine Criptográfica JCA/JCE:** - Disponibilidade dos provedores de segurança registrados na JVM (`SUN`, `SunRsaSign`, `SunMSCAPI`, etc.); - Suporte ao algoritmo de hash `SHA-256`; - Suporte ao algoritmo de assinatura `SHA256withRSA`. 3. **Repositório de Chaves do Sistema Operacional:** - Detecção do repositório `Windows-MY` (Windows CryptoAPI / CNG). 4. **Middlewares PKCS#11 e SmartCard:** - Verificação de bibliotecas de smartcard registradas no sistema (`eps2003csp11.dll`, `aetpkss1.dll`, `opensc-pkcs11.dll`, etc.); - Disponibilidade do subsistema PC/SC `javax.smartcardio`. --- ## 2. Auto-Teste de Assinatura Local (Self-Test) A aba de diagnóstico disponibiliza o botão **"Executar Auto-teste de Assinatura"**: 1. Seleciona o primeiro certificado operacional disponível na máquina. 2. Gera um hash SHA-256 interno de teste: `"Documento_Teste_CyberCore_"`. 3. Abre o diálogo de confirmação visual para validação do usuário. 4. Executa a assinatura real JCA/JCE e afere os bytes gerados. 5. Emite relatório de sucesso com tempo decorrido e tamanho da assinatura.