einvoicesign 1.0.0
einvoicesign: ^1.0.0 copied to clipboard
UBL 2.1 XML-DSig enveloped signer, built and validated for Croatian eInvoices (eRačun, Fiscalization 2.0). Exclusive C14N, RSA-SHA256, PKCS#12 certificates, no OpenSSL. CLI and library, byte-compatibl [...]
example/einvoicesign_example.dart
import 'dart:io';
import 'package:einvoicesign/einvoicesign.dart';
/// Signs a UBL 2.1 eInvoice with an enveloped XML-DSig signature.
///
/// The invoice must contain an empty
/// `ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/`
/// `sig:UBLDocumentSignatures/sac:SignatureInformation` element — the
/// signature is appended there.
void main(List<String> args) {
final signedXml = signInvoiceXml(
File('invoice.xml').readAsStringSync(),
File('cert.p12').readAsBytesSync(),
'password',
);
File('invoice_signed.xml').writeAsStringSync(signedXml);
}