toText method
Implementation
String toText() {
final buffer = StringBuffer();
buffer.writeln('Relatório de Conformidade');
buffer.writeln('Nome: ${metadata.name}');
buffer.writeln('');
buffer.writeln(
'Data de validação: ${_formatDateTimeBrt(metadata.validationDate)}',
);
buffer.writeln('');
buffer.writeln(
'Versão do software(Verificador de Conformidade): ${metadata.verifierVersion}',
);
buffer.writeln('');
buffer.writeln(
'Versão do software(Validador de Documentos): ${metadata.validatorVersion}',
);
buffer.writeln('');
buffer.writeln('Fonte de verificação: ${metadata.verificationSource}');
buffer.writeln('');
buffer.writeln('');
buffer.writeln('Informações do arquivo');
buffer.writeln('Nome do arquivo: $fileName');
buffer.writeln('');
buffer.writeln('Resumo da SHA256 do arquivo: $fileHashSha256');
buffer.writeln('');
buffer.writeln('Tipo do arquivo: $fileType');
buffer.writeln('');
buffer.writeln('Quantidade de assinaturas: $signatureCount');
buffer.writeln('');
buffer.writeln(
'Quantidade de assinaturas ancoradas: $anchoredSignatureCount');
buffer.writeln('');
buffer.writeln('');
buffer.writeln('Informações da Política de Assinatura');
final pa = policyInfo;
buffer.writeln('PA válida: ${_formatBool(pa?.paValid)}');
buffer.writeln('');
buffer.writeln(
'Período de validade da PA: ${_formatPeriod(pa?.paValidFrom, pa?.paValidTo)}',
);
buffer.writeln('');
buffer.writeln('PA expirada: ${_formatBool(pa?.paExpired)}');
buffer.writeln('');
buffer.writeln('PA válida na LPA: ${_formatBool(pa?.paValidInLpa)}');
buffer.writeln('');
buffer.writeln('PA online: ${_formatBool(pa?.paOnline)}');
buffer.writeln('');
buffer.writeln('OID da PA: ${pa?.paOidLabel ?? 'Não informado'}');
buffer.writeln('');
buffer.writeln('');
buffer.writeln('Informações da Lista de Políticas de Assinatura');
final lpa = lpaInfo;
buffer.writeln('LPA válida: ${_formatBool(lpa?.lpaValid)}');
buffer.writeln('');
buffer.writeln(
'Próxima emissão da LPA: ${_formatDateTimeBrt(lpa?.nextIssue)}',
);
buffer.writeln('');
buffer.writeln('LPA expirada: ${_formatBool(lpa?.lpaExpired)}');
buffer.writeln('');
buffer.writeln('Nome da LPA: ${lpa?.lpaName ?? 'Não informado'}');
buffer.writeln('');
buffer.writeln('LPA online: ${_formatBool(lpa?.lpaOnline)}');
buffer.writeln('');
buffer.writeln('Versão da LPA: ${lpa?.lpaVersion ?? 'Não informado'}');
buffer.writeln('');
for (final sig in signatures) {
buffer.writeln('');
buffer.writeln(sig.title);
buffer.writeln('');
buffer.writeln('Informações da assinatura');
buffer.writeln('Assinante: ${sig.signerName}');
buffer.writeln('');
buffer.writeln('CPF: ${sig.cpfMasked}');
buffer.writeln('');
buffer.writeln('Tipo de assinatura: ${sig.signatureType}');
buffer.writeln('');
buffer.writeln('Status de assinatura: ${sig.signatureStatus}');
buffer.writeln('');
buffer.writeln('Caminho de certificação: ${sig.certPathStatus}');
buffer.writeln('');
buffer.writeln('Estrutura: ${sig.structureStatus}');
buffer.writeln('');
buffer.writeln('Cifra assimétrica: ${sig.asymmetricCipherStatus}');
buffer.writeln('');
buffer.writeln('Resumo criptográfico: ${sig.digestOk}');
buffer.writeln('');
buffer.writeln('Data assinatura: ${sig.signingTime}');
buffer.writeln('');
buffer.writeln('Política de assinatura: ${sig.signaturePolicy}');
buffer.writeln('');
buffer.writeln('Atributos obrigatórios: ${sig.requiredAttrsStatus}');
buffer.writeln('');
buffer.writeln('Verificação incremental: ${sig.incrementalCheck}');
buffer.writeln('');
buffer.writeln('Mensagem de erro: ${sig.message}');
buffer.writeln('');
buffer.writeln('');
buffer.writeln('Certificados utilizados');
buffer.writeln('');
for (final cert in sig.certificates) {
buffer.writeln(cert.subject);
buffer.writeln('Buscado: ${cert.fetchSource}');
buffer.writeln('');
buffer.writeln('Assinatura: ${cert.isSignature}');
buffer.writeln('');
buffer.writeln('Emissor: ${cert.issuer}');
buffer.writeln('');
buffer.writeln('Data de emissão: ${cert.notBefore}');
buffer.writeln('');
buffer.writeln('Aprovado até: ${cert.notAfter}');
buffer.writeln('');
buffer.writeln('Expirado (LCR): ${cert.revoked}');
buffer.writeln('');
buffer.writeln('');
}
buffer.writeln('Atributos usados');
buffer.writeln('ATRIBUTOS OBRIGATÓRIOS:');
buffer.writeln('');
for (final attr in sig.requiredAttributes) {
buffer.writeln('Nome do atributo:${attr.name}');
buffer.writeln('');
buffer.writeln('Corretude: ${attr.status}');
buffer.writeln('');
buffer.writeln('');
}
if (sig.optionalAttributes.isEmpty) {
buffer.writeln('ATRIBUTOS OPCIONAIS:Não possui.');
} else {
buffer.writeln('ATRIBUTOS OPCIONAIS:');
buffer.writeln('');
for (final attr in sig.optionalAttributes) {
buffer.writeln('Nome do atributo:${attr.name}');
buffer.writeln('');
buffer.writeln('Corretude: ${attr.status}');
buffer.writeln('');
buffer.writeln('');
}
}
}
return buffer.toString();
}