2.3 KiB
2.3 KiB
Exemplos de Integração — CyberCore Signer Web SDK
Este diretório contém exemplos práticos e prontos para uso demonstrando os principais fluxos de integração do @cybercore/signer-sdk com aplicações web.
📁 Arquivos de Exemplo
| Arquivo | Descrição |
|---|---|
01-crypto-login.js |
Autenticação segura por desafio criptográfico (Challenge-Response) sem senhas. |
02-sign-digest.js |
Assinatura desacoplada em que o navegador calcula o hash SHA-256 e o CyberCore assina apenas o digest. |
03-sign-pades.js |
Assinatura digital completa de PDF (PAdES) com selo gráfico posicionado (ICP-Brasil / Gov.br). |
04-error-handling.js |
Captura e tratamento estruturado de todos os erros do protocolo CCSP/1 com guia acionável. |
🚀 Como Executar
Pré-requisitos
- Agente desktop CyberCore Signer em execução na máquina (
127.0.0.1:21325). - Node.js 18+ instalado.
Execução direta via Node.js
Como o pacote usa módulos ES ("type": "module"), você pode testar diretamente com:
# Executar exemplo de login
node examples/01-crypto-login.js
# Executar exemplo de assinatura de digest
node examples/02-sign-digest.js
# Executar exemplo de assinatura PAdES com selo
node examples/03-sign-pades.js
# Executar exemplo de tratamento de erros
node examples/04-error-handling.js
💡 Uso em Projetos Frontend (React, Vue, Angular, Svelte, Vanilla)
Instale o pacote a partir do seu registry npm privado:
npm install @cybercore/signer-sdk
Importe os métodos e tipos em qualquer componente ou serviço web:
import { CyberCoreSigner, AgentNotRunningError } from '@cybercore/signer-sdk';
const signer = new CyberCoreSigner({
applicationName: 'Meu Sistema Web'
});
async function assinarDocumento(arquivoPdf: File, certId: string) {
try {
const resultado = await signer.signPdfDocument({
pdf: arquivoPdf,
certificateId: certId,
position: 'BOTTOM_RIGHT',
sealThemeId: 'icp-brasil'
});
// Baixa o documento assinado no navegador
resultado.download('documento_assinado.pdf');
} catch (err) {
if (err instanceof AgentNotRunningError) {
alert(err.actionableGuidance);
}
}
}