• Aucun résultat trouvé

Indicateurs recommandés

Dans le document Module 1Cadre et paramètres (Page 33-36)

A implementação desta solução proporcionou, e continua a proporcionar, alguns desafios. Desde questões técnicas até questões relacionadas com os cartões dos utilizadores, tiveram de se superar alguns obstáculos. Nesta secção procura-se condensar as dificuldades tidas como mais relevantes, tanto no que diz respeito à presente solução como para referência futura, procurando constituir uma mais valia para programadores ou investigadores em situações similares.

De um ponto de vista técnico, a primeira grande dificuldade na assinatura passou pela irregularidade do processo. Era frequente serem efetuados vários testes com sucesso e, após testar num computador em ambiente de produção, não ser possível realizar a assinatura. Este problema persistiu ao ponto de se sugerir que o erro seria causado, de algum modo, pela utilização de uma applet. Parte desta sugestão devia-se ao facto de os erros não acontecerem em ambiente de desenvolvimento, e outra parte devido à falta de experiência com applets. Mais tarde, resultante de uma análise ao código fonte da biblioteca poreid em funcionamento, veio-se a conseguir identificar o código de erro SCARD_W_RESET_CARD. À partida, este código de erro não tinha nenhuma razão aparente para acontecer, conduzindo a uma exposição do problema ao apoio técnico da AMA. Após contacto, tal como referido em 4.2.1, a Agência veio a determinar que versões mais recentes do Windows terminam a ligação com o CC após 5 segundos de inatividade. Este contacto levou à pronta resolução do problema. Após esta resolução, as razões pelas quais esta correção foi tão demorada tornaram-se aparentes: o desenvolvimento foi feito maioritariamente em ambiente Linux, e a versão do Windows usada para testes possivelmente não estava afetada pelo problema descrito pela AMA. A razão definitiva pela qual o erro começou a ocorrer também na máquina de desenvolvimento em Windows é incerta, mas tendo em conta a explicação oferecida pela AMA, especula-se que tenha sido devido à instalação de algumas atualizações.

Embora se possa admitir que esta foi uma dificuldade algo simples, é-lhe dada uma importância significativa devido ao facto de esta ter pesado na decisão de alterar a aplicação de applet para aplicação desktop. Indo de encontro ao explorado ao longo do ponto 4.1, a intenção original de utilizar uma applet para assinar revelou bastantes problemas. A limitação que mais pesou na decisão de alterar a natureza da aplicação foi a cessação do suporte pelo navegador web Google Chrome, antevendo-se também a cessação por parte da Mozzila no Firefox. No entanto, restrições a nível das permissões para aceder a recursos do computador, tais como o Cartão de Cidadão, dificultaram o desenvolvimento. Adicionalmente, a falta de experiência em desenvolvimento de applets acabou por acentuar o problema anterior, pois mais tarde veio a revelar-se que a assinatura da applet em si mitigava o mesmo.

Os instaladores para Windows e Linux foram relativamente simples de fazer. Após se ter aprendido a realizar o registo de protocolos personalizados nestes sistemas operativos, o processo de instalação não impôs demasiadas dificuldades. No entanto a instalação em macOS revelou-se algo desafiante. Como explorado em 4.3.1, este registo foi efetuado com recurso a um ficheiro AppleScript convertido em aplicação macOS. No entanto, a inexperiência com esta tecnologia levou a um desenvolvimento um pouco mais demorado. O resultado deste desenvolvimento acabou por ser uma aplicação macOS contida num ficheiro .dmg. Este formato é principalmente utilizado em macOS, é apresenta-se como um tipo de ficheiro tratado pelo sistema operativo como se fosse um disco real, análogo ao formato .iso. Uma vez aberto o ficheiro .dmg, era necessário copiar a aplicação para o computador do utilizador e executar uma vez para registar o protocolo. Compreensivelmente, este processo não era intuitivo e teve de ser modificado. A solução encontrada foi a construção de um ficheiro .pkg em vez do .dmg. O ficheiro .pkg é um instalador para macOS que permite copiar ficheiros para o local desejado, disponibilizando ainda capacidades interessantes, tais como a habilidade de executar um script no final da instalação. Tornou-se assim possível melhorar a instalação da aplicação em macOS, copiando e executando a aplicação automaticamente.

Além das dificuldades técnicas, também a relação com os utilizadores se revelou, por vezes, como fonte de alguns desafios. Antevendo dificuldades na instalação da aplicação, foram feitos instaladores simples com o mínimo de ação do utilizador possível. No entanto acabaram por ser necessárias deslocações a alguns postos de trabalho para instalar a

aplicação. Este problema tornou-se especialmente aparente quando se implementou lógica que impedia assinar com versões antigas da aplicação. Como se previa, foram necessárias mais deslocações para atualizar a aplicação. No entanto, estes desafios potenciaram um melhoramento significativo na aplicação, levando à automatização do processo de atualização da ADUTAD. Embora este melhoramento não resolva a incapacidade de alguns utilizadores instalarem a aplicação, elimina por completo qualquer confusão que tenha origem no processo de atualização manual.

Resultante desta atualização automática, constatou-se que os locais no disco para onde se estavam a instalar as aplicações não ofereciam permissões suficientes à componente de atualização. Isto é, não era possível substituir o ficheiro antigo da aplicação pelo mais recente. Este problema levou à alteração dos caminhos para onde os ficheiros estavam a ser copiados, copiando para ~/.utadsign/ em Linux e macOS, e para %APPDATA%\UTAD\Assinatura em Windows.

Um desafio transversal a todo o universo de assinaturas digitais na UTAD, desde as realizadas por esta aplicação até às realizadas com aplicações de terceiros, é a necessidade de ativar o certificado de assinatura do Cartão de Cidadão. Em situações de apoio a utilizadores em relação a outras plataformas alheias a esta solução, particularmente plataformas que tiram partido da assinatura digital, foi comum ter de solicitar aos mesmos a ativação da assinatura do CC. Antevê-se assim que vários utilizadores ainda não tenham a assinatura digital ativa, sendo necessária a sua ativação para utilizar a solução. No caso de utilizadores regulares, este problema não parece ser muito grave, pois uma ativação garante a habilidade de utilização da plataforma, no mínimo, até ao final da validade do CC. No entanto, caso a ADUTAD seja estendida a utilizadores esporádicos, tais como alunos e candidatos a bolsas de investigação, este problema pode ser mais acentuado. De modo a atenuar o problema, deve-se proceder a uma adequada comunicação com os utilizadores, informando-os da necessidade de ativar a assinatura do CC caso tenham de utilizar a ADUTAD ou outra plataforma com assinatura digital. Além desta abordagem, este problema não aparenta ter uma solução definitiva.

4.6 Conclusão

Ao longo deste capítulo foi feita uma análise ao processo de implementação da solução descrita no Capítulo 3, começando por uma exposição das tecnologias utilizadas ao longo do desenvolvimento tanto da aplicação como de alguns serviços que lhe servem de apoio. Com esta exposição procurou-se oferecer um contexto tecnológico relativo ao processo de desenvolvimento e mesmo ao produto final.

A documentação do primeiro protótipo de solução alcançado revela possuir uma importância considerável, pois foi nesta fase de implementação que foi possível realizar as primeiras assinaturas digitais válidas. Adicionalmente, através do resultado negativo obtido relativamente à natureza da aplicação, obrigando a uma mudança do seu modo de funcionamento de applet para aplicação desktop, foi possível documentar uma abordagem não aconselhada ao problema apresentado.

Quanto à proposta de solução final, foi possível explorar a implementação das funcionalidades que foram consideradas mais relevantes, tais como os processos de implementação dos instaladores nos sistemas operativos Windows, Linux e macOS, o modo como a aplicação é utilizada por browsers, a funcionalidade de assinatura em série e de atualizar a aplicação automaticamente. O recurso a anexos com excertos de código fonte permitiu ilustrar, quando necessário, a forma como as funcionalidades foram implementadas, servindo assim de referência tecnológica para resolver problemas semelhantes.

Também a exposição das dificuldades enfrentadas e das limitações da proposta de solução foi feita neste capítulo. Esta documentação permite compreender os contratempos encontrados, num esforço de registar também a solução encontrada.

A análise de resultados fecha o presente capítulo, permitindo, através de uma visão crítica sobre o processo de implementação e da proposta de solução, expor algumas considerações sobre o trabalho levado a cabo, assim como avaliar a adequação da solução proposta aos problemas da Universidade que esta se propõe a resolver.

CAPÍTULO 5

CONCLUSÕES

Dans le document Module 1Cadre et paramètres (Page 33-36)

Documents relatifs