From 0af094770c4ebabc56ff761a8bd215bc397c0f7e Mon Sep 17 00:00:00 2001 From: João Augusto Costa Branco Marado Torres Date: Tue, 5 Aug 2025 18:50:37 +0100 Subject: refactor: reading page review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: João Augusto Costa Branco Marado Torres --- src/components/signature/Summary.astro | 279 --------------------------------- 1 file changed, 279 deletions(-) delete mode 100644 src/components/signature/Summary.astro (limited to 'src/components/signature/Summary.astro') diff --git a/src/components/signature/Summary.astro b/src/components/signature/Summary.astro deleted file mode 100644 index f25c1d1..0000000 --- a/src/components/signature/Summary.astro +++ /dev/null @@ -1,279 +0,0 @@ ---- -import { - createVerificationSummary, - logLevel, - type Summary, - VerificationResult, -} from "@lib/pgp/summary"; -import type { Verification } from "@lib/pgp/verify"; -import { Level } from "@utils/index"; -import type { NonEmptyArray } from "@utils/iterator"; - -interface Props extends Verification {} - -let [errors, keys] = await createVerificationSummary(Astro.props); -const failed = errors.filter((summary) => "reason" in summary); - -if (failed.length > 0) { - errors = failed as NonEmptyArray; -} - -let worst; - -for (const summary of errors) { - if (worst === undefined) { - worst = summary; - } - - const { result } = summary; - const a = logLevel(worst.result); - const b = logLevel(result); - if (a[0] === b[0] && !a[1] && b[1]) { - worst = summary; - } else if (b[0] === Level.ERROR) { - worst = summary; - } else if (a[0] === Level.OK && b[0] === Level.WARN) { - worst = summary; - } -} - -let lvl: [Level, boolean] | undefined = undefined; - -let label; - -let title = ""; -let content; -const error = worst && "reason" in worst ? worst.reason : undefined; - -if (worst) { - lvl = logLevel(worst.result); - switch (lvl[0]) { - case Level.OK: { - label = "OK"; - break; - } - case Level.WARN: { - label = "Aviso"; - break; - } - case Level.ERROR: { - label = "Erro"; - break; - } - default: { - throw new Error("Unreachable"); - } - } - - switch (worst.result) { - case VerificationResult.NO_SIGNATURE: { - title = "Assinatura não encontrada"; - content = `

-Este blog post não foi assinado. -

-

-Não existe forma de verificar a autentacidade do autor ou a integridade do texto escrito. -

-`; - break; - } - case VerificationResult.MISSING_KEY: { - title = "Chave não encontrada"; - content = `

-Este blog post está assinado digitalmente, porém a chave pública com KeyID 0x${worst.keyID} com que foi assinado não foi encontrada no chaveiro sendo impossível verificar a assinatura, quer dizer, não existe forma de verificar a autentacidade do autor ou a integridade do texto escrito. -

-

-Procure a chave noutro sítio da internet para conseguir fazer a verificação manualmente. -

-`; - break; - } - case VerificationResult.SIGNATURE_CORRUPTED: { - title = "Assinatura corrumpida"; - content = `

-Exite um ficheiro que supostamente é a assinatura, mas ele está corrompido ou com um formato inválido. -

-

-Não existe forma de verificar a autentacidade do autor ou a integridade do texto escrito. -

-`; - break; - } - case VerificationResult.SIGNATURE_COULD_NOT_BE_CHECKED: { - title = "Erro desconhecido"; - content = `

-A assinatura foi encontrada mas ocorreu um erro inesperado durante a verificação. -

-

-Não existe forma de verificar a autentacidade do autor ou a integridade do texto escrito. -

-`; - break; - } - case VerificationResult.BAD_SIGNATURE: { - title = "Assinatura inválida"; - content = `

-Existe uma assinatura digital porém o conteúdo da blog post não corresponde à assinatura. Talvez o texto tenha sido alterado sem ter sido criada uma nova assinatura. -

-

-Pode tentar verificar a assinatura com versões antigas do blog post, mas esta versão não pode ser verificada quanto à autentacidade do autor ou à integridade do texto escrito. -

-`; - break; - } - case VerificationResult.UNTRUSTED_KEY: { - title = "Assinatura válida (chave não confiada)"; - content = `

-A assinatura digital é criptograficamente válida, porém a chave utilizada não é suficientemente confiada pelo servidor. Mas podes ter a certeza que o dono da chave pública é a mesma pessoa que assinou este blog post. -

-`; - break; - } - case VerificationResult.TRUSTED_KEY: { - title = "Assinatura válida"; - content = `

-A assinatura digital é criptograficamente válida. O dono da chave pública é a mesma pessoa que assinou este blog post exatamente como ele está, sem alterações. -

-`; - break; - } - case VerificationResult.EXPIRATION_AFTER_SIGNATURE: { - break; - } - case VerificationResult.EXPIRATION_BEFORE_SIGNATURE: { - break; - } - case VerificationResult.REVOCATION_AFTER_SIGNATURE: { - break; - } - case VerificationResult.REVOCATION_BEFORE_SIGNATURE: { - break; - } - case VerificationResult.KEY_DOES_NOT_SIGN: { - break; - } - default: { - throw new Error("Unreachable"); - } - } -} ---- - -{ - lvl && - ( -
- {label?.toUpperCase()}: {title.toUpperCase()} - - {error &&
{error}
} -
- ) -} - - -- cgit v1.2.3