AssinadorDigitalXml class
Assinador digital XML conforme padrão XMLDSig ICP-Brasil
100% Pure Dart - Funciona em todas as plataformas (Android, iOS, Windows, Web)
Implementa assinatura digital de documentos XML seguindo:
- W3C XMLDSig (http://www.w3.org/2000/09/xmldsig#)
- Padrões ICP-Brasil para certificados e-CPF e e-CNPJ
- RSA-SHA256 para assinatura
- C14N para canonicalização
Formatos de certificado suportados:
- PFX/P12: Formato binário, suportado em todas as plataformas via Pure Dart
- PEM: Formato texto, suportado em todas as plataformas
Uso por plataforma:
- Web: Use
certificadoBase64(conteúdo do .pfx em Base64) - Mobile/Desktop: Use
caminhoCertificado(path do arquivo) oucertificadoBase64
Exemplo de uso:
final assinador = AssinadorDigitalXml(
certificadoBase64: 'MIIJqQIBAzCCCW8GCSqGSIb3...',
senhaCertificado: 'minhasenha',
);
await assinador.carregarCertificado();
final xmlAssinado = await assinador.assinarXml(xmlOriginal);
Constructors
- AssinadorDigitalXml({String? caminhoCertificado, String? certificadoBase64, required String senhaCertificado})
Properties
- caminhoCertificado → String?
-
final
- certificadoBase64 → String?
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- senhaCertificado → String
-
final
Methods
-
assinarXml(
String conteudoXml) → Future< String> - Assina o XML digitalmente seguindo EXATAMENTE o padrão PHP do SERPRO
-
carregarCertificado(
) → Future< void> -
- PFX/P12: Parse Pure Dart em todas as plataformas
- PEM: Parse texto em todas as plataformas
-
dispose(
) → void - Limpa recursos
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
obterInformacoesCertificado(
) → Future< InformacoesCertificado> - Retorna informações do certificado
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited