amagovpt / autenticacao.gov

Middleware Oficial de Identificação Eletrónica em Portugal - Cartão de Cidadão, da Chave Móvel Digital e Sistema de Certificação de atributos profissionais
https://www.autenticacao.gov.pt
European Union Public License 1.2
164 stars 33 forks source link

Problema a exportar alguns certificados em Ubuntu 20.04 #100

Closed jccmartins closed 2 years ago

jccmartins commented 2 years ago

Boa tarde,

Detetei um problema a exportar os certificados de autenticação e assinatura digital do cartão de cidadão através da aplicação Autenticação.gov.

Configuração:

Quando exporto os certificados e tento ver o seu conteúdo usando o "Certificate Viewer" padrão (clicando no ficheiro ou correndo num terminal gcr-viewer <filepath>), aparece a seguinte mensagem de erro: gcr-viewer cert.der

Para os restantes certificados (ECRaizEstado 002, Cartão de Cidadão 006, EC de Autenticação do Cartão de Cidadão 0017 e EC de Assinatura Digital Qualificada do Cartão de Cidadão 0017) a exportação funciona corretamente.

Percebi que o problema acontece porque a aplicação Autenticação.gov escreve mais bytes do que o tamanho real do certificado. Ao correr hexdump cert.der verificamos isto: hexdump cert.der

Se removermos os bytes com valor 0 do fim do certificado, funciona corretamente.

agrr commented 2 years ago

Correto, os certificados que são lidos do CC, isto é certificados do cidadão mais ECs de Autenticação e Assinatura estão a ser exportados com os bytes de padding incluídos o que não é problemático para alguns parsers (como o comando openssl x509 -inform der -in cert.der ) mas como vemos aqui não funciona em todos os casos.

Vamos corrigir este comportamento da aplicação, obrigado pelo feedback.

agrr commented 2 years ago

Este issue está corrigido na versão 3.8.0 da aplicação.