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:

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) ou certificadoBase64

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