Lista de Códigos de SmartCard - Known Card ATRs

Coordinator
Nov 12, 2012 at 9:01 PM

Actualmente a aplicação de demonstração utiliza uma lista HARCODED de códigos ATR para validar se foi inserido um cartão de cidadão. Alguns utilizadores têm-se queixado que os novos cartões emitidos têm ATRs que não constam da lista logo não são detectados.

- Quem desejar manter uma lista de ATRs, deverá actualizar constantemente a lista dos mesmos, aonde quer que ela exista (harcoded, bd, ficheiro, etc...)

De momento é me de todo impossível modificar ou sequer testar o código-fonte da aplicação, mas a minha sugestão é:

- No evento de inserção de cartões, não utilizar nenhuma lista de ATRs e tentar inicializar a eIDPT. Se não tiver sido inserido um cartão de cidadão, será gerada uma excepção que deveremos tratar de acordo com o código de erro: SC_ERROR_CARD_NOT_PRESENT ou SC_ERROR_INVALID_CARD.

Esta (ou semelhante) é a implementação que a própria biblioteca de C++ oficial tem, não é validado nenhum ATR, é validado o ficheiro de ID(entificação) que existe no cartão. Se não corresponder ao "contrato" dos Cartões de Cidadão Portugueses, é gerada uma excepção.

Cumprimentos,
Fernando Nunes