2.5 KiB
2.5 KiB
Certificados Digitais A1, A3 e PKCS#11
O CyberCore Signer oferece suporte abrangente aos formatos e repositórios de certificados digitais padrão ICP-Brasil utilizados no Brasil.
1. Certificados Digitais A1 (Software / PKCS#12)
Os certificados A1 são arquivos com extensão .pfx ou .p12 protegidos por senha.
Fluxo de Uso
- O usuário seleciona o arquivo via diálogo nativo (
FileChooser) na interface ou importa via tela de Dashboard. - É solicitada a senha em um diálogo seguro (
A1PasswordDialog), mantida emchar[]temporário e sobrescrita com zeros logo após a leitura da chave. - O provedor
Pkcs12CertificateProviderinstancia umKeyStore.getInstance("PKCS12")e extrai os metadados do certificado X.509 (subject,issuer,validade,algoritmo,tamanho da chave). - Durante a assinatura, a chave privada em memória gera a assinatura digital via
Signature.getInstance("SHA256withRSA").
2. Certificados Digitais A3 no Windows (Windows Certificate Store)
No Windows 10/11, a maioria dos drivers de tokens USB e Smart Cards (ex: SafeSign, SafeNet Authentication Client, Serpro, Certisign) registra seus certificados diretamente no repositório de certificados do usuário (Windows-MY).
Vantagens do Provider WindowsCertificateStoreProvider
- Acessa certificados físicos via CryptoAPI (CAPI) e Cryptography Next Generation (CNG) através do provedor JDK
SunMSCAPI. - A chave privada permanece dentro do chip criptográfico do token.
- Quando o token exige autenticação por PIN, a janela nativa do próprio driver do fabricante é invocada com segurança pelo sistema operacional Windows.
3. Hardware PKCS#11 Direto (Tokens USB e Smartcards)
Para ambientes onde se deseja acesso direto ao middleware ou no Linux:
Pkcs11CertificateProviderpesquisa bibliotecas DLL / SO padrão:eps2003csp11.dll(SafeNet / eToken)aetpkss1.dll(SafeSign AET)acospkcs11.dll(ACOS / G&D)opensc-pkcs11.dll/opensc-pkcs11.so(OpenSC)
- Utiliza o provider SunPKCS11 do JDK (
jdk.crypto.cryptoki).
4. Monitoramento Dinâmico de Hardware (SmartCardWatcher)
O componente SmartCardWatcher monitora os leitores PC/SC em segundo plano:
- Ao inserir um token: Atualiza a lista de certificados automaticamente e notifica a interface gráfica.
- Ao remover o token: Registra evento de auditoria (
AUDITORIA [TOKEN_REMOVED]), limpa o cache de PIN de sessão emPinSessionManagere força um warm reset viaSmartCardSessionManager.