@mastersigner/sdk
v1.1.2
Published
Master Signer SDK — Integração de assinatura digital ICP-Brasil para sistemas web
Maintainers
Readme
Master Signer SDK
Assinatura digital ICP-Brasil (A1 e A3) direto do navegador, via extensão Master Signer.
- 🔐 Compatível com certificados A1 (.pfx/.p12) e A3 (token USB / smartcard)
- 📄 CAdES detached (PKCS#7) e PAdES B-B
- 🛡️ Chave privada nunca sai do dispositivo do usuário
- 🌎 Sem API key no frontend — autorização por domínio cadastrado
- 🎯 ~17 kB ESM, zero peer-deps obrigatórias
Instalação
npm install @mastersigner/sdk
# ou
pnpm add @mastersigner/sdk
# ou
yarn add @mastersigner/sdkRequer: a extensão Master Signer instalada no navegador do usuário final. Para certificados A3, também o agente nativo.
Uso rápido
import { MasterSigner } from '@mastersigner/sdk';
const signer = new MasterSigner();
// 1) Listar certificados disponíveis no navegador / token
const certs = await signer.listCertificates();
// 2) Assinar (CAdES detached)
const result = await signer.sign({
data: pdfBytes, // Uint8Array
certificateThumbprint: certs[0].thumbprint,
});
// result.signature: PKCS#7 em base64PAdES B-B (assinatura embutida no PDF):
const { signedPdfBytes, signature } = await signer.signPdf(pdfBytes, {
thumbprint: certs[0].thumbprint,
});Lote (1 PIN, N documentos):
const { results, successCount } = await signer.signBatch({
items: [
{ id: 'doc-1', data: pdf1Bytes },
{ id: 'doc-2', data: pdf2Bytes },
],
certificateThumbprint: certs[0].thumbprint,
});Documentação
- API completa: https://mastersigner.app/app/docs
- Formatos suportados (CAdES vs PAdES): https://mastersigner.app/app/docs
- Verificador de assinaturas: https://mastersigner.app/verificar
Versionamento
Extensão, agente e SDK seguem versionamento unificado. Esta versão 1.1.x requer extensão >= 1.1.x e agente >= 1.1.x (o SDK detecta e orienta o usuário se desatualizado).
Licença
Proprietária — veja LICENSE. Para uso comercial, contrate um plano.
