• Nenhum resultado encontrado

Formulários Eletrônicos

N/A
N/A
Protected

Academic year: 2021

Share "Formulários Eletrônicos"

Copied!
241
0
0

Texto

(1)

Formul´

arios eletrˆ

onicos

Florian´opolis - SC 2007

(2)

Formul´

arios eletrˆ

onicos

Trabalho de conclus˜ao de curso apresentado como parte dos requisitos para obten¸c˜ao do grau de Bacharelado em Ciˆencias da Compu-ta¸c˜ao na Universidade Federal de Santa Ca-tarina

Orientador:

Ricardo Felipe Cust´

odio

Universidade Federal de Santa Catarina Centro Tecnol´ogico

Florian´opolis - SC 2007

(3)

mul´arios eletrˆonicos”, defendida por Michel Zanini e aprovada em 2007, em Florian´opolis, Estado de Santa Catarina, pela banca examinadora constitu´ıda pelos professores:

Ricardo Felipe Cust´odio

Fabiano Castro Pereira

(4)

um software propriet´ario desenvolvido pela Adobe Systems. Ou cri´a-lo utilizando uma ferramenta para manipula¸c˜ao de PDF, como o iText. Dessa forma, justifica-se a cria¸c˜ao de um visualizador PDF que permita preencher, salvar e assinar formul´arios criados a partir do iText, sem a necessidade de adquirir o produto da Adobe.

(5)

The present paper aims to demonstrate the advantages of a workflow using electronic forms comparing to a workflow through paper forms. As study case, paper forms used by professors and students of the Inform´atica e Estat´ıstica Department (INE) of the Federal University of Santa Catarina (UFSC), will be transformed into electronic forms and a solution will be presented to add the advantages of electronic documents into the needs of the department. The PDF format was chosen because it has advantages in relation to other formats for integration in a workflow. To create a PDF electronic form it is necessary to use the Adobe Professional, a comercial software developed at Adobe Systems or by using a PDF manipulation tool, like iText. In this case, it is justified the development of a PDF visualization tool that allows users to fill, save and sign forms without buying the Adobe’s product.

(6)

1.1 Objetivos . . . p. 16 1.1.1 Objetivos gerais . . . p. 16 1.1.2 Objetivos espec´ıficos . . . p. 16 1.2 Justificativa . . . p. 16 1.3 Motiva¸c˜ao . . . p. 17 1.4 Organiza¸c˜ao do trabalho . . . p. 17

2 Revis˜ao Te´orica sobre Seguran¸ca em Sistemas de Informa¸c˜ao p. 18 2.1 Criptografia . . . p. 18 2.1.1 Sim´etrica . . . p. 19 2.1.2 Assim´etrica . . . p. 20 2.2 Fun¸c˜oes de resumo (Hash) . . . p. 22 2.3 Assinaturas digitais . . . p. 23 2.4 Autoridade Certificadora (AC) . . . p. 24 2.5 Certificados digitais . . . p. 25 2.5.1 X.500 . . . p. 26 2.5.2 X.509 . . . p. 26 2.6 Padr˜oes de criptografia de chave p´ublica . . . p. 28

(7)

2.7 Carimbo de tempo . . . p. 28

3 Formul´arios Eletrˆonicos p. 30

3.1 Fluxo de trabalho . . . p. 31 3.2 Formatos de formul´arios eletrˆonicos . . . p. 32 3.2.1 HTML . . . p. 33 3.2.2 XML . . . p. 35 3.2.3 Interface gr´afica . . . p. 36 3.2.4 Office . . . p. 38 3.2.5 PDF . . . p. 39 3.3 Compara¸c˜oes entre formatos de formul´arios eletrˆonicos . . . p. 41

4 Adobe Acrobat e o Portable Document Format p. 43 4.1 Portable Document Format . . . p. 44 4.2 Propriedade intelectual da especifica¸c˜ao PDF . . . p. 44 4.3 Fam´ılia de produtos Adobe Acrobat 8 . . . p. 45 4.4 Recursos do Adobe Acrobat Professional 8 . . . p. 46 4.4.1 Habilitar recursos para o Adobe Reader . . . p. 47 4.4.2 Coment´arios . . . p. 48 4.4.3 Carimbos . . . p. 48 4.4.4 Edi¸c˜oes de texto . . . p. 49 4.4.5 Arquivos anexos . . . p. 49 4.4.6 Sons e v´ıdeos . . . p. 49 4.4.7 Assinaturas digitais . . . p. 50 4.4.7.1 Diferen¸cas entre assinatura e certifica¸c˜ao . . . p. 53 4.4.8 Formul´arios . . . p. 53

(8)

5.3.2.1 Criando um PDF com iText em cinco passos . . . p. 61 5.3.2.2 Submetendo um formul´ario PDF com o iText . . . p. 62 5.3.2.3 Assinando um documento PDF com iText . . . p. 62 5.3.3 JPedal . . . p. 63 5.4 Metodologia de projeto . . . p. 64 5.5 Projetando a arquitetura da aplica¸c˜ao . . . p. 66 5.5.1 Arquitetura em camadas . . . p. 66 5.5.2 Model-View-Controller . . . p. 67 5.6 Vis˜ao geral . . . p. 67 5.7 Modelagem de requisitos . . . p. 67 5.7.1 Requisitos funcionais . . . p. 67 5.7.2 Requisitos n˜ao-funcionais . . . p. 68 5.8 Casos de uso . . . p. 68 5.8.1 Abrir documento . . . p. 68 5.8.2 Salvar documento . . . p. 69 5.8.3 Assinar documento . . . p. 69 5.8.4 Verificar assinaturas . . . p. 69 5.8.5 Imprimir documento . . . p. 69 5.8.6 Configurar dados para envio de e-mail . . . p. 70

(9)

5.8.8 Exportar para XML . . . p. 70 5.8.9 Importar dados de XML . . . p. 70 5.8.10 Criptografar documento . . . p. 70 5.8.11 Buscar texto . . . p. 71 5.8.12 Aplicar zoom ao documento . . . p. 71 5.8.13 Ajustar a p´agina `a tela . . . p. 71 5.8.14 Rotacionar documento . . . p. 71

6 Resultados da implementa¸c˜ao p. 72

6.1 Prot´otipo . . . p. 72 6.2 Visualizando o PDF . . . p. 73 6.3 Manipulando o painel PDF . . . p. 74 6.4 Formul´arios eletrˆonicos . . . p. 74 6.5 Aplicando assinatura digital ao formul´ario . . . p. 75 6.6 Verificando assinaturas digitais . . . p. 77 6.7 Criptografando o documento PDF . . . p. 79 6.8 Importar e exportar dados de formul´arios . . . p. 80 6.9 Envio de documento por e-mail . . . p. 80 6.10 Exibi¸c˜ao de marcadores . . . p. 81 6.11 Impress˜ao de documento . . . p. 82 6.12 Propriedades do documento . . . p. 82 6.13 Dificuldades encontradas . . . p. 82 6.14 Funcionalidades futuras . . . p. 83 7 Conclus˜ao p. 85

(10)
(11)

1 Dispositivo para leitura de documentos eletrˆonicos . . . p. 15 2 Criptografia sim´etrica para enviar um texto seguro: o texto ´e

criptogra-dado e descriptografado utilizando a mesma chave secreta compartilhada

(GROUP, 2007) . . . p. 20 3 Criptografia assim´etrica para enviar um texto seguro: o processo ´e lento

pois o texto ´e criptografado utilizando uma chave p´ublica. Depois ´e

descriptografado utilizando uma chave privada pessoal (GROUP, 2007) . . p. 21 4 Fun¸c˜ao de hash: um resumo ´unico ´e gerado a partir do texto (GROUP,

2007) . . . p. 22 5 Assinatura digital rudimentar: o processo ´e lento pois o texto ´e

cripto-grafado utilizando um algoritmo de chave p´ublica (GROUP, 2007) . . . . p. 23 6 Assinatura digital: ao combinar assinatura digital com fun¸c˜oes de hash

podemos verificar a integridade dos dados, e melhorar o desempenho do

processo (GROUP, 2007) . . . p. 24 7 Hierarquia de autoridades certificadoras e usu´arios finais (GROUP, 2007) . p. 25 8 Exemplo de um nome ´unico X.500 . . . p. 26 9 Conte´udo de um certificado digital X.509 (GROUP, 2007) . . . p. 27 10 Aplica¸c˜ao do carimbo de tempo . . . p. 29 11 Exemplo de fluxo de trabalho utilizando formul´arios eletrˆonicos . . . p. 32 12 Exemplo de formul´ario eletrˆonico em HTML . . . p. 34 13 Exemplo de c´odigo de formul´ario eletrˆonico em HTML . . . p. 36 14 Exemplo de c´odigo de formul´ario eletrˆonico em XForms . . . p. 36 15 Exemplo de ferramenta RAD criando um formul´ario eletrˆonico . . . p. 37 16 Exemplo de um formul´ario eletrˆonico em PDF . . . p. 40

(12)

24 Lista de arquivos anexos ao documento PDF . . . p. 50 25 Sons e v´ıdeos . . . p. 51 26 Lista de assinaturas digitais de um documento PDF . . . p. 51 27 Sele¸c˜ao de certificado digital para assinatura . . . p. 52 28 Carimbos de assinatura digital . . . p. 52 29 Propriedades da assintura digital . . . p. 53 30 Sele¸c˜ao de como ser´a criado o formul´ario PDF . . . p. 54 31 Detec¸c˜ao autom´atica de campos de formul´ario . . . p. 55 32 Adobe LifeCycle Designer 8 . . . p. 55 33 Vis˜ao geral do fluxo de trabalho para a solu¸c˜ao proposta . . . p. 58 34 Visualizador de exemplo do JPedal (JPEDAL, 2007) . . . p. 64 35 Fases e etapas do Processo Unificado (FALBO, 2006) . . . p. 66 36 Menus de op¸c˜oes do leitor de PDF . . . p. 72 37 Op¸c˜oes da barra de ferramentas e da barra de navega¸c˜ao . . . p. 73 38 Formul´ario eletrˆonico aberto e sendo preenchido . . . p. 74 39 Documento PDF sendo manipulado com as ferramentas de visualiza¸c˜ao . p. 75 40 Formul´ario com campos de assinatura . . . p. 76 41 Tela de sele¸c˜ao de certificado digital . . . p. 76

(13)

43 Status de uma assinatura apresentada em diferentes formas . . . p. 78 44 Aba de assinaturas mostrando uma assinatura v´alida . . . p. 78 45 Di´alogo de detalhes da assinatura mostrando uma assinatura de validade

desconhecida . . . p. 79 46 Di´alogo de criptografia do documento . . . p. 79 47 Di´alogo de senha . . . p. 80 48 Di´alogo de configura¸c˜ao do servidor SMTP . . . p. 80 49 Di´alogo de envio de documento por e-mail . . . p. 81 50 Painel de marcadores . . . p. 81 51 Di´alogo de impress˜ao . . . p. 82 52 Di´alogo de impress˜ao . . . p. 83

(14)
(15)

No in´ıcio da d´ecada de 80, com a populariza¸c˜ao do computador pessoal, as pessoas come¸caram a imaginar um escrit´orio sem uso de papel, onde todos os documentos fossem eletrˆonicos (GEHANI, 1982). Por´em a nova tecnologia que viria para eliminar o papel n˜ao obteve sucesso completo. O papel continua sendo usado at´e o presente nos escrit´orios e lares.

Os documentos eletrˆonicos trazem algumas vantagens sobre os an´alogos em papel: • S˜ao f´aceis de procurar Mesmo que n˜ao tiverem um ´ındice, proporcionam

ferra-mentas para facilitar a busca de texto.

• S˜ao f´aceis de armazenar Centenas de documentos eletrˆonicos podem ser arma-zenados sem ocupar consider´avel espa¸co f´ısico.

• S˜ao f´aceis de distribuir Um documento pode ser enviado para o outro lado do mundo em segundos.

Mas ´e claro que existem desvantagens. A facilidade de distribui¸c˜ao proporcionada pelo meio eletrˆonico pode tornar o documento alvo de pirataria e c´opia ilegal. Um docu-mento impresso possui legibilidade maior que um docudocu-mento visualizado em uma tela de computador. Al´em disso, documentos f´ısicos ainda possuem credibilidade maior que os eletrˆonicos.

As novas tecnologias emergentes podem ajudar a trazer a tona o sonho de um escrit´ o-rio sem papel. Novos dispositivos de leitura que proporcionam melhor experiˆencia para o usu´ario est˜ao surgindo, como o leitor eletrˆonico de livros representado pela figura 1 (WI-KIPEDIA, 2007a). Tecnologias que adicionam assinaturas digitais aos documentos est˜ao se tornando cada vez mais aceit´aveis por empresas e pelo governo (CERTISIGN, 2007), aumentando a seguran¸ca e confian¸ca dos mesmos. Uma das grandes empresas que pro-porcionaram esses avan¸cos ´e a Adobe Systems, criadora do Portable Document Format (PDF).

(16)

Um formul´ario ´e um tipo especial de documento que oferece espa¸cos em brancos para preenchimento de informa¸c˜oes requeridas. Do in´ıcio da d´ecada de 80 at´e o presente os formul´arios em papel vem perdendo espa¸co para os formul´arios eletrˆonicos digitais. Milh˜oes de sistemas de informa¸c˜ao desenvolvidos coletam dados a partir de formul´arios eletrˆonicos para que sejam armazenados ou processados. Tais formul´arios geralmente apresentam interface web ou desktop.

O formato PDF passou a dar suporte interno a formul´arios em 1996. Tal recurso, combinado com o suporte a assinaturas digitais adicionado no final da d´ecada de 90, vem se tornando popular em fluxos de trabalho eletrˆonico. O formul´ario PDF substitu´ı o formul´ario em papel em v´arios aspectos. Possui portabilidade entre sistemas operacionais e dispositivos, permitindo que possua aparˆencia ´unica. Permite assinaturas digitais, as quais apresentam mesma efic´acia jur´ıdica comparada com assinaturas `a m˜ao. Mant´em o documento vis´ıvel apenas para leitura, quando necess´ario.

Esse trabalho visa mostrar na teoria e pr´atica como formul´arios em papel podem ser substitu´ıdos por formul´arios eletrˆonicos para permitir agilidade, confiabilidade e flexibili-dade em um fluxo de trabalho. Como estudo de caso, formul´arios em papel usados por professores e alunos do departamento de Inform´atica e Estat´ıstica (INE) da Universidade Federal de Santa Catarina (UFSC), ir˜ao ser transformados em formul´arios eletrˆonicos e uma solu¸c˜ao ser´a apresentada para agregar as vantagens de documentos eletrˆonicos `a realidade do departamento.

(17)

1.1

Objetivos

1.1.1

Objetivos gerais

Propor e implementar uma solu¸c˜ao que permita ver, preencher, salvar, assinar e enviar por e-mail formul´arios eletrˆonicos em PDF.

1.1.2

Objetivos espec´ıficos

• Fazer uma revis˜ao sobre os principais conceitos ligados a criptografia. • Estudar conceitos de assinatura digital e certificados X.509.

• Pesquisar sobre formul´arios eletrˆonicos e seus diferentes formatos. • Estudar a fam´ılia de produtos da Adobe Systems.

• Estudar ferramentas para manipula¸c˜ao de documentos PDF.

• Avaliar a realidade do fluxo de trabalho de documentos em papel no departamento INE.

• Projetar e implementar uma ferramenta para manipula¸c˜ao e assinatura de formul´ a-rios eletrˆonicos.

1.2

Justificativa

O presente trabalho visa demonstrar as vantagens de um fluxo de trabalho com docu-mentos eletrˆonicos. Um fluxo com uso de papel requer locomo¸c˜ao das entidades envolvidas para obter a c´opia f´ısica do documento. A seguran¸ca oferecida pelos documentos f´ısicos ´e menor que os an´alagos em meio eletrˆonico. Dessa forma, justifica-se evoluir um fluxo de formul´arios em papel para um eletrˆonico.

O formato PDF foi escolhido pois apresenta vantagens em rela¸c˜ao aos demais para in-tegra¸c˜ao em um fluxo de trabalho. A principal vantagem ´e o suporte interno a assinaturas digitais. O suporte permite aos usu´arios verificar facilmente a legalidade da assinatura, sem necessidade do uso de softwares adicionais. O PDF tamb´em permite preenchimento, valida¸c˜ao e componentes gr´aficos para formul´arios, de uma forma segura e amig´avel.

(18)

atrav´es de rotinas da biblioteca iText. Por´em, o iText n˜ao d´a suporte a visualiza¸c˜ao do documento, permite apenas manipula¸c˜ao interna. Para tal a biblioteca JPedal (JPEDAL, 2007) foi escolhida sendo uma das poucas op¸c˜oes gratuitas existentes. Dado que as ferra-mentas utilizadas s˜ao implementadas em Java, a linguagem foi escolhida para o restante do desenvolvimento.

1.3

Motiva¸

ao

´

E curioso notar que muitos fluxos de trabalho efetuados de forma presencial hoje em dia podem ser realizados com seguran¸ca pela Internet. Isso ´e poss´ıvel com a utiliza¸c˜ao de certificados e assinatura digital. Dessa forma, ´e poss´ıvel estender essas aplica¸c˜oes de forma ampla, utilizando documentos eletrˆonicos.

1.4

Organiza¸

ao do trabalho

O trabalho foi estruturado para melhor compreender sua evolu¸c˜ao. O segundo cap´ı-tulo demonstra uma revis˜ao sobre os principais conceitos em seguran¸ca da informa¸c˜ao. O terceiro cap´ıtulo explora os formul´arios eletrˆonicos e seus diferentes formatos. O quarto descreve o produto para manipula¸c˜ao de PDF da Adobe Systems. O cap´ıtulo cinco de-monstra a proposta de solu¸c˜ao e implementa¸c˜ao do visualizador de documentos PDF. O seis apresenta os resultados da implementa¸c˜ao e o s´etimo, e ´ultimo, as considera¸c˜oes finais.

(19)

Seguran¸

ca em Sistemas de

Informa¸

ao

2.1

Criptografia

Segundo Menezes, Oorschot e Vanstone (1996) criptografia ´e o estudo de t´ecnicas matem´aticas relacionadas aos aspectos de seguran¸ca da informa¸c˜ao como confiabilidade, integridade dos dados, autentica¸c˜ao de entidades e origem de dados. Uma defini¸c˜ao mais clara para criptografia pode ser entendida como sendo uma t´ecnica matem´atica usada para transformar (criptografar) um texto plano (leg´ıvel) em conte´udo cifrado (ileg´ıvel), que deixe a informa¸c˜ao transmitida segura, assim como o processo inverso, transformar (descriptografar) o texto cifrado em formato original. Para que a mensagem possa ser cifrada, ´e utilizado uma chave, que pode ser privada ou p´ublica, e atrav´es dela o algoritmo criptogr´afico consegue cifrar a informa¸c˜ao.

A troca de mensagens de forma segura nos acompanha historicamente de longas datas. Desde os s´ımbolos secretos utilizados pelos eg´ıpcios, `a brincadeira da “l´ıngua do pˆe”, at´e as t´ecnicas utilizadas pelos americanos na Segunda Guerra Mundial para proteger estrat´egias e segredos nacionais. Com a evolu¸c˜ao dos computadores e sistemas de comunica¸c˜oes na d´ecada de 60 originou-se a necessidade de proteger as informa¸c˜oes e servi¸cos em meio digital. Com os computadores tornou-se poss´ıvel realizar c´alculos matem´aticos sofisticados baseados em problemas muito dif´ıceis de resolver, como a fatora¸c˜ao de n´umeros primos. A criptografia se baseia em tais algoritmos para garantir que mesmo com a velocidade atual dos computadores, ningu´em possa decifrar facilmente um texto criptografado.

De acordo com Menezes, Oorschot e Vanstone (1996) a criptografia permite a implan-ta¸c˜ao de diversos servi¸cos de seguran¸ca, dos quais, os principais s˜ao:

(20)

Os servi¸cos de seguran¸ca se prop˜oem a solucionar amea¸cas no envio e troca de infor-ma¸c˜oes, tais como:

• Interrup¸c˜ao Impede que dados enviados cheguem ao destino.

• Intercep¸c˜ao Intercepta dados sendo enviados, mas n˜ao impede que cheguem ao destino.

• Modifica¸c˜ao Altera dados enviados para chegarem diferentes ao destino. • Fabrica¸c˜ao Envia dados ao destino falsificando a sua origem.

A criptografia pode ser classificada de acordo com o uso da chave. A criptografia sim´etrica utiliza uma chave secreta, tanta para cifrar, quanto para decifrar. Essa chave deve ser mantida como segredo para que a informa¸c˜ao possa continuar confidencial. J´a a criptografia assim´etrica utiliza uma chave privada e uma chave p´ublica. A chave privada deve ser mantida em segredo, assim como a chave secreta da criptografia sim´etrica, e a chave p´ublica deve ser disponibilizada para todos que tiverem interesse em obtˆe-la.

2.1.1

Sim´

etrica

A criptografia mais simples ´e a que usa a mesma chave tanto para criptografar quanto para descriptografar. S˜ao os chamados algoritmos sim´etricos, ou algoritmos de chave sim´etrica. A seguran¸ca do algoritmo sim´etrico est´a em manter a chave compartilhada a salvo, por isso normalmente ela ´e chamada de chave secreta. Uma vis˜ao geral do processo pode ser observado na Figura 2.

Entre os algoritmos mais famosos est˜ao o DES (Data Encryption Standard) e o Triple DES, ambos criados pelo governo dos EUA. O DES foi criado na d´ecada de 70 e sua

(21)

Figura 2: Criptografia sim´etrica para enviar um texto seguro: o texto ´e criptogradado e descriptografado utilizando a mesma chave secreta compartilhada (GROUP, 2007)

chave tinha tamanho 56 bits, sendo considerado muito seguro para a ´epoca. Com o poder computacional atual, este algoritmo j´a n˜ao ´e mais considerado seguro, pois ´e vulner´avel a ataques de for¸ca bruta (GILMORE, 1998). Em 1999 um projeto de computa¸c˜ao distribu´ıda utilizando computadores espalhados ao redor do mundo quebrou o DES em apenas 22 horas. Nos tempos atuais utiliza-se o AES (Advanced Encryption Standard) introduzido pelo governo dos EUA juntamente com o apoio do setor da ind´ustria privada. O tamanho da chave do AES ´e de 128, 192 ou 256 bits e para os padr˜oes atuais de tecnologia ´e considerado seguro (DAEMEN; BORG; RIJMEN, 2002).

De acodo com Souza (2005) os algoritmos sim´etricos trazem um problema. Para enviar a mensagem de forma segura, ´e preciso enviar tamb´em a chave secreta. Alem disso, para manter a comunica¸c˜ao com diversas pessoas, vocˆe precisa compartilhar diversas chaves, e mantˆe-las seguras. Entretanto, esse algoritmos s˜ao muito r´apidos, e s˜ao utilizados para efetuar a maior parte do trabalho de criptografia.

2.1.2

Assim´

etrica

Para resolver o problema dos algoritmos sim´etricos, foram criados os algoritmos assi-m´etricos ou algoritmos de chave p´ublica. Eles utilizam chaves diferentes para criptografar e descriptografar, chamadas de chave p´ublica e chave privada.

Nesse esquema, uma mensagem que foi criptografada com uma chave s´o pode ser des-criptografada com a outra. Ou seja, s´o pode ser descriptografada com a chave privada, a mensagem que foi criptografada com a chave p´ublica (HOOK, 2005). O algoritmo assi-m´etrico mais conhecido ´e o RSA, inicialmente publicado em 1977 por Ronald Rivest, Adi Shamir e Leonard Adleman. Uma vis˜ao geral do processo pode ser observado na Figura 3.

(22)

texto ´e criptografado utilizando uma chave p´ublica. Depois ´e descriptografado utilizando uma chave privada pessoal (GROUP, 2007)

Como sugerem seus nomes, a chave p´ublica pode ser distribu´ıda a vontade, e a chave privada deve ser armazenada e protegida. Nesse esquema, se a entidade A quer man-dar uma mensagem confidencial para B, ela utiliza a chave p´ublica de B (que por ser p´ublica pode estar dispon´ıvel pela Internet) para criptografar a mensagem, dessa forma apenas a chave privada de B poder´a descriptografar e ler a mensagem original. Como a chave privada de B est´a guardada a salvo, somente B pode vˆe-la. Dessa forma, a cripto-grafia assim´etrica evita a troca de chaves, pois cada entidade ter´a sua chave privada, e disponibilizar´a a sua chave p´ublica.

Uma das principais limita¸c˜oes dos algoritmos de chave p´ublica ´e o desempenho. Com c´alculos bem mais complexos, esse algoritmos chegam a ser mil vezes mais lentos que os de chave sim´etrica (SECURITY, 2000). Por conta disso, se utiliza um processo em duas etapas para criptografar mensagens: um algoritmo sim´etrico ´e usado para criptografar toda a mensagem e depois ´e criptografada apenas a chave sim´etrica utilizada, com um algoritmo de chave p´ublica. Devem ser enviadas duas informa¸c˜oes, a mensagem e a chave sim´etrica criptografadas, para que o processo possa ser invertido do outro lado.

De acordo com Souza (2005) em geral ´e utilizado a chave p´ublica para criptografar, porque o processo inverso, criptografar com a chave privada, permitiria que qualquer um que obtenha acesso a chave p´ublica possa ler a mensagem. Essa capacidade ´e importante na implementa¸c˜ao de assinaturas digitais.

(23)

2.2

Fun¸

oes de resumo (Hash)

A fun¸c˜ao de resumo, ou fun¸c˜ao de hash, ´e um c´alculo que visa transformar a men-sagem em um resultado de tamanho fixo (HOOK, 2005). O processo ´e interessante por causa de duas propriedades que o resultado, tamb´em chamado de hash, tem. Primeiro, dependendo do tamanho da mensagem, e do tipo de algoritmo usado, as chances de gerar o mesmo resultado s˜ao extremamente pequenas. Segundo, mudando um bit da mensagem original da qual o hash foi gerado, produz uma mudan¸ca imprescind´ıvel no novo resultado calculado, depois do novo hash gerado. Essas propriedades de unicidade e resultado n˜ao previsto fazem as fun¸c˜oes de resumo muito ´uteis para o processo de criptografia. Outra caracter´ıstica das fun¸c˜oes de resumo ´e a velocidade, elas executam rapidamente. A Figura 4 ilustra o processo.

Figura 4: Fun¸c˜ao de hash: um resumo ´unico ´e gerado a partir do texto (GROUP, 2007) De acordo com (HOOK, 2005) as fun¸c˜oes de hash s˜ao muito ´uteis para detectar a integridade dos dados, ou seja, detectar se uma mensagem enviada foi alterada ou editada no caminho de envio. Esse processo ´e importante pois de posse de um conhecimento pr´evio sobre o tipo de mensagem enviada, pode-se adulter´a-la para que ela produza outra mensagem ao ser descriptografada.

Antes da mensagem ser enviada aplica-se uma fun¸c˜ao de hash a ela, produzindo um resultado ´unico para essa mensagem. Ent˜ao ´e enviado, juntamente com a mensagem, o seu hash, ambos criptografados. Do outro lado, ap´os descriptografar, o hash e a mensagem original s˜ao recuperados. Novamente se aplica a fun¸c˜ao de hash sobre a mensagem, e se, os hash’s baterem, significa que a mensagem n˜ao foi alterada durante o envio.

(24)

p´ublica (chave p´ublica). Assinaturas digitais est˜ao ligadas ao n˜ao-rep´udio, ou seja, uma entidade n˜ao pode negar ter assinado uma mensagem, caso sua chave p´ublica confirme que foi assinada.

Se invertermos o processo da Figura 3, como na Figura 5, temos uma forma rudimentar de assinatura digital. Ou seja, como a mensagem ´e criptografada com a chave privada, ent˜ao temos a certeza de que foi enviada pelo dono da chave.

Figura 5: Assinatura digital rudimentar: o processo ´e lento pois o texto ´e criptografado utilizando um algoritmo de chave p´ublica (GROUP, 2007)

Este ´e o conceito do processo, na implementa¸c˜ao real as coisas s˜ao mais complexas. Algoritmos de chave p´ublica s˜ao lentos, portanto n˜ao ´e vi´avel us´a-los para criptografar o texto inteiro. Por outro lado, os algoritmos de fun¸c˜ao de resumo (hash) s˜ao muito r´apidos e ´uteis para criar uma esp´ecie de “impress˜ao digital” do texto.

De acordo com Grant (2002) para implementar esse processo gera-se um hash do texto que se deseja enviar, e ent˜ao o hash ´e criptografado usando uma chave privada. Como o hash ´e de tamanho fixo, e em geral ´e bem menor que o texto, ´e mais eficiente criptograf´ a-lo. Ent˜ao, antes do envio, o texto e o hash s˜ao concatenados. De posse do texto original e o hash criptografado, pode-se inverter o processo. O hash ´e descriptografado utilizando

(25)

a chave p´ublica, ent˜ao outro hash ´e novamente calculado do texto original, depois eles s˜ao comparados. Caso a compara¸c˜ao falhe, ou o texto foi alterado no envio ou n˜ao foi assinado por quem que se espera. Esse processo pode ser observado na Figura 6.

Figura 6: Assinatura digital: ao combinar assinatura digital com fun¸c˜oes de hash podemos verificar a integridade dos dados, e melhorar o desempenho do processo (GROUP, 2007)

Utilizando-se algoritmos assim´etricos podemos garantir o envio de mensagens de forma segura, e atrav´es de assinaturas digitais garantir a identidade do emissor da mensagem. Por´em ainda resta um pouco de falha. Tudo depende da posse da chave p´ublica de quem quer trocar informa¸c˜oes. Como garantir se est´a se recebendo a chave p´ublica correta? E se a chave foi adulterada durante o envio? Aqui entram as autoridades certificadoras e os certificados digitais.

2.4

Autoridade Certificadora (AC)

Se vocˆe recebesse a assinatura digital pessoalmente de um amigo seu, teria certeza de que ´e confi´avel. Se seu amigo tamb´em confirmou a validade de chaves recebidas pessoal-mente, ent˜ao vocˆe pode confiar nelas. Caso algu´em perca sua chave p´ublica, vocˆe precisa de alguma forma ser notificado, para que possa troc´a-la por uma nova confi´avel. Uma rede de confian¸ca dessas fica enormemente complexa numa abrangˆencia como a Internet. Para resolver esse problema foram criadas as Autoridades Certificadoras (AC) que certificam que uma determinada pessoa possui a chave p´ublica que diz possuir.

De acordo com Hook (2005) as autoridades certificadoras s˜ao respons´aveis por geren-ciar o ciclo de vida dos certificados e fornecer aos usu´arios garantias necess´arias para seu

(26)

o certificado n˜ao foi revogado.

A Infra-estrutura de Chaves P´ublicas brasileira (ICP-BRASIL, 2007) ´e uma autoridade certificadora tomada como base para certificados usados pelo governo, chamada de AC raiz. A autoridade certificadora raiz tem por objetivo assinar certificados de autoridades certificadoras intermedi´arias. Essas, por sua vez, podem assinar certificados de outras AC intermedi´arias, ou de usu´arios finais. A figura 7 ilustra a hierarquia.

Figura 7: Hierarquia de autoridades certificadoras e usu´arios finais (GROUP, 2007) Para um certificado pertencente a um usu´ario final, ser considerado v´alido, ele deve ser assinado por uma AC intermedi´aria, que por sua vez, foi assinada pela AC raiz. Al´em disso, n˜ao deve estar presente na lista de certificados revogados, bem como, estar dentro do prazo de validade.

2.5

Certificados digitais

Um certificado digital ´e como um “envelope” que possui uma chave p´ublica e informa-¸c˜oes de quem ´e o seu dono. Esse “envelope” ´e assinado por uma autoridade certificadora,

(27)

que atesta a validade, autenticidade e confiabilidade da chave p´ublica.

Todo certificado est´a associado a uma chave privada e uma cadeia de certificados. Exceto o primeiro e o ´ultimo, cada certificado da cadeia tem uma chave privada que assina o certificado seguinte. O primeiro certificado, o raiz, ´e auto-assinado e deve ser considerado confi´avel para que a cadeia seja v´alida. O ´ultimo, do usu´ario final, simplesmente apresenta a chave p´ublica que normalmente se est´a interessado em conhecer para alguma finalidade.

2.5.1

X.500

O padr˜ao X.500 define como deve ser organizada a informa¸c˜ao referente a identifica¸c˜ao de uma entidade. ´E usado no formato de certificados X.509 para identificar o emissor e o titular do certificado. De acorco com Chadwick (1994) um nome ´unico no padr˜ao X.500 contem as seguintes informa¸c˜oes (Figura 8):

Figura 8: Exemplo de um nome ´unico X.500

• Nome comum (CN - commonName) Normalmente o nome de uma pessoa. • Setor da empresa (OU - organizationUnit) Subdivis˜ao da empresa ou

organi-za¸c˜ao.

• Nome da empresa (O - organizationName) Nome da empresa ou organiza¸c˜ao. • Local (L - localityName) Nome da cidade.

• Estado (S - stateName) Nome do estado ou prov´ıncia. • Pa´ıs (C - country) Nome do pa´ıs.

2.5.2

X.509

O formato de certificados X.509 foi desenvolvido pela International Standards Organi-zation (ISO) e incorporado pela American National Standards Institute (ANSI) e Internet Engineering Task Force (IETF). O X.509 define quais informa¸c˜oes podem estar presentes em um certificado e descreve em que formato os dados devem ser escritos. Atualmente se encontra na terceira vers˜ao. De acordo com Adams e Farrell (1999) em um certificado no formato X.509 v3 est˜ao presentes as seguintes informa¸c˜oes (Figura 9):

(28)

Figura 9: Conte´udo de um certificado digital X.509 (GROUP, 2007)

• Identificador do algoritmo de assinatura Identifica qual algoritmo foi utilizado para assinar o certificado.

• Vers˜ao do certificado Vers˜ao do formato do certificado X.509. Pode ser v1, v2 ou v3.

• N´umero serial Representa o n´umero de s´erie do certificado. Esse n´umero ´e ´unico para cada autoridade certificadora.

• Emissor Nome ´unico no padr˜ao X.500 da AC respons´avel por emitir o certificado. • Prazo de validade Nesse campo est˜ao a data de in´ıcio e fim da validade do

certi-ficado.

• Titular Nome ´unico no padr˜ao X.500 do dono do certificado.

• Assinatura do emissor O emissor do certificado assina os dados presente nele, sendo que qualquer altera¸c˜ao nos mesmos, pode ser detectada.

• Extens˜oes Os certificados X.509 vers˜ao 3 possuem extens˜oes que podem conter informa¸c˜oes diversas al´em das presentes acima, como por exemplo, o CPF ou CNPJ do titular.

(29)

2.6

Padr˜

oes de criptografia de chave p´

ublica

A empresa RSA Security definiu uma s´erie de padr˜oes de criptografia de chave p´ublica denominados Public Key Cryptography Standards (PKCS). As aplica¸c˜oes que utilizam a criptografia de chave p´ublica, em geral, utilizam esses padr˜oes. Atualmente existem quinze padr˜oes e a seguir um deles ser´a descrito pois ´e necess´ario para o desenvolvimento de aplica¸c˜oes que utilizam assinatura digital.

2.6.1

PKCS #7

O padr˜ao PKCS #7, tamb´em conhecido como Cryptographic Message Syntax (CMS), descreve uma sintaxe geral para dados criptografados ou assinados (KALISKI, 1998). Per-mite que diferentes tipos de prote¸c˜ao sejam aninhados, ou seja, uma mensagem assinada pode ser usada como texto plano para ser criptografada ou uma mensagem criptografada pode ser assinada.

As mensagem assinadas tamb´em podem ter atributos anexados a ela que podem ser inclusos na assinatura final. ´E um protocolo importante pois n˜ao apenas pode ser usado por si mesmo, mas tamb´em forma a base para ser usado em outros protocolos como o S/MIME (Secure/Multipurpose Internet Mail Extensions).

2.7

Carimbo de tempo

As assinaturas digitais garantem a origem e a integridade dos documentos assinados. Isso ´e suficiente para realizar transa¸c˜oes eletrˆonicas seguras? Depende. Os certificados tˆem limita¸c˜oes, como prazos de validade. E, principalmente no que diz respeito a contratos entre empresas, s´o a assinatura digital n˜ao basta para trazer a seguran¸ca desejada.

Numa transa¸c˜ao digital t´ıpica, constitu´ıda por um documento assinado digitalmente, ´e necess´ario a prova de que a assinatura foi aplicada durante o per´ıodo de validade do certificado digital do assinante. Por interm´edio da aplica¸c˜ao de um carimbo de tempo a uma assinatura digital podemos provar que o documento foi redigido antes da data e hora que consta no carimbo e, ap´os carimbado, n˜ao foi modificado.

Para que se prove a legalidade de um documento assinado e carimbado ´e necess´ario dois fatores. A assinatura deve ser conferida e validada e o carimbo de tempo deve ter sido aplicado durante o per´ıodo de validade do certificado ou antes da data de revoga¸c˜ao

(30)

acordo com o Rel´ogio Atˆomico do Observat´orio Nacional, que gera a Hora Legal Brasileira.

Figura 10: Aplica¸c˜ao do carimbo de tempo

Para exemplificar a aplica¸c˜ao e utilidade do carimbo de tempo vejamos a seguinte situa¸c˜ao: alguem que trabalha no desenvolvimento de produtos para qualquer ´area do conhecimento humano e necessita provar que seu produto ou sua id´eia j´a existia desde uma determinada data para fins de no futuro registrar uma marca, uma patente, basta documentar tal cria¸c˜ao sob a forma de documento eletrˆonico, em seguida anexar um carimbo de tempo a este documento. Dessa forma, se pode provar que naquela data o documento j´a existia e foi criado por aquela entidade.

(31)

Um formul´ario ´e um documento em papel, impresso ou escrito `a m˜ao, com espa¸cos em branco reservados para preenchimento de informa¸c˜oes requisitadas. Os r´otulos s˜ao informa¸c˜oes escritas que descrevem como os espa¸cos em branco devem ser preenchidos. Os espa¸cos em branco, por sua vez, denominam-se campos.

An´alogo a um em papel, um formul´ario eletrˆonico ´e digital, ou seja, n˜ao existe fisi-camente. Entretanto, formul´arios eletrˆonicos possibilitam recursos adicionais que n˜ao s˜ao poss´ıveis de obter com formul´arios em papel. Por exemplo, em formul´arios eletrˆonicos ´e poss´ıvel validar automaticamente os campos de entrada de informa¸c˜oes.

Formul´arios eletrˆonicos retˆem v´arias caracter´ısticas de formul´arios em papel (GEHANI, 1982). Eles podem ser copiados, anotados, assinados, enviados por e-mail, submetidos para um sistema de informa¸c˜ao ou oferecer autocompletar autom´atico para a entrada de dados. Outra caracter´ıstica significativa de um documento eletrˆonico ´e sua preserva¸c˜ao prolongada. O suporte f´ısico da informa¸c˜ao no papel pode se desintegrar ou tornar-se irrecuper´avel. J´a o meio eletrˆonico pode garantir preserva¸c˜ao por tempo indefinido, bastando tomar precau¸c˜oes com o local e o meio que est˜ao armazenados (ARELLANO, 2004).

Algumas vantagens da utiliza¸c˜ao de formul´arios eletrˆonicos em rela¸c˜ao aos em papel s˜ao observadas a seguir:

• Facilidade de distribui¸c˜ao Por estarem em meio eletrˆonico, facilitam o envio e a distribui¸c˜ao r´apida para locais distantes atrav´es da rede mundial de computadores. • Agilidade no preenchimento Algumas facilidades podem estar presentes para agilizar o preenchimento: autocompletar o texto digitado, acelerar a escolha de datas ou hor´arios atrav´es de calend´arios e copiar e colar textos repetitivos.

• Valida¸c˜ao da entrada de dados ´E poss´ıvel configurar o formul´ario eletrˆonico para validar a entrada de dados em campos. Por exemplo, permitir o preenchimento

(32)

• Interoperabilidade Como ´e poss´ıvel extrair as informa¸c˜oes preenchidas nos cam-pos de um formul´ario eletrˆonico, torna-se simples integr´a-lo a um novo sistema de informa¸c˜ao ou base de dados de conhecimento, sem necessitar redigit´a-los.

• Integra¸c˜ao com fluxos de trabalho A principal vantagem de um formul´ario eletrˆonico ´e proporcionar automa¸c˜ao de processos de neg´ocios atrav´es de um fluxo de trabalho. Como o documento j´a est´a em formato digital torna-se f´acil integr´a-lo a um processo de neg´ocio automatizado.

3.1

Fluxo de trabalho

Conforme a Workflow Management Coalition (WFMC, 2007), organiza¸c˜ao internacio-nal especializada no assunto, fluxo de trabalho ´e a automa¸c˜ao de um processo de neg´ocio, no todo ou em parte, durante o qual documentos, informa¸c˜oes ou tarefas s˜ao transferi-das entre participantes do processo, de acordo com um conjunto definido de regras, para alcan¸car um determinado objetivo.

De acorco com Carvalho (2007) pode-se dizer que o objetivo principal de uma solu¸c˜ao de fluxo de trabalho ´e aumentar a eficiˆencia de processos, tanto os cr´ıticos e rotinei-ros quanto os eventuais, e a efetividade das pessoas que trabalham em conjunto para execut´a-los. Ou seja, quando adotamos uma solu¸c˜ao desse tipo, esperamos alcan¸car v´ a-rios benef´ıcios. Por exemplo, o aumento da produtividade com a elimina¸c˜ao de passos desnecess´arios; o melhor controle de processos com a padroniza¸c˜ao do m´etodo de trabalho; e a maior flexibilidade com a possibilidade de alterar o fluxo de neg´ocio de maneira mais simples.

De forma resumida, pode-se considerar que um fluxo de trabalho ´e composto por um conjunto de passos, conectados entre si atrav´es de transi¸c˜oes. Cada passo possui uma ou mais a¸c˜oes. Essas a¸c˜oes podem ser executadas pelos usu´arios, como o preenchimento

(33)

de um formul´ario eletrˆonico; ou pelo pr´oprio sistema, como a execu¸c˜ao de um c´alculo ou envio de e-mail. O resultado da execu¸c˜ao de uma a¸c˜ao pode resultar na mudan¸ca de passo, atrav´es de uma transi¸c˜ao, ou ent˜ao no fim do fluxo de trabalho.

Com a crescente necessidade de automa¸c˜ao dos processos nas organiza¸c˜oes, a demanda por aplica¸c˜oes com caracter´ısticas de um sistema de fluxo de trabalho torna-se cada vez mais significativa. Diversos processos presentes no dia-a-dia podem ser automatizados, desde atividades simples, como solicita¸c˜ao e aprova¸c˜ao de viagens ou f´erias, at´e a mais complexas, como o acompanhamento de compras em lojas de com´ercio eletrˆonico.

Os formul´arios eletrˆonicos auxiliam na ado¸c˜ao de um fluxo de trabalho. Nesse con-texto, a tarefa de preencher os campos do formul´ario pode ser um passo do fluxo de trabalho, e no passo seguinte autorizar os dados preenchidos. Cada passo pode ser rea-lizado por entidades diferentes. O fluxo ainda poderia estar ligado a tarefas de extrair os dados do formul´ario para enviar por e-mail ou salv´a-los em outro local. A figura 11 ilustra um fluxo de trabalho utilizando formul´arios eletrˆonicos.

Figura 11: Exemplo de fluxo de trabalho utilizando formul´arios eletrˆonicos

3.2

Formatos de formul´

arios eletrˆ

onicos

Formul´arios eletrˆonicos podem ser constru´ıdos em in´umeros formatos diferentes, de-pendendo de suas necessidades. Para aplica¸c˜oes de formul´arios eletrˆonicos dispon´ıveis na Web geralmente adotam-se os formatos HTML ou XML. Para aplica¸c˜oes “stand-alone” os formatos de aplicativos de escrit´orio, como o Microsoft Office, e formul´arios constru´ı-dos em uma interface gr´afica s˜ao os mais comuns. Um formato ainda pouco difundido no mercado ´e o PDF que permite uma boa integra¸c˜ao tanto com aplica¸c˜oes Web como “stand-alone”.

(34)

formata¸c˜ao do documento e dos caracteres (tamanho de letra, it´alico, negrito, entre outros) e para a cria¸c˜ao de links de hipertexto. Gr´aficos, multim´ıdias e formul´arios eletrˆonicos tamb´em podem ser incorporados a um documento HTML atrav´es de tags espec´ıficas.

A Web est´a consolidada sobre o protocolo HyperText Transfer Protocol (W3C-HTTP, 2007) que permite a troca de arquivos HTML entre uma rede de computadores. O pro-tocolo HTTP funciona no modelo cliente / servidor, tamb´em conhecido como requisi¸c˜ao / resposta. O computador cliente realiza uma requisi¸c˜ao e ent˜ao o servidor respons´avel por armazenar os arquivos HTML responde enviando de volta os dados atrav´es do proto-colo HTTP. Os formul´arios eletrˆonicos em formato HTML s˜ao comumente chamados de formul´arios Web, pois utilizam o modelo cliente / servidor sobre o protocolo HTTP.

Os seguintes elementos podem ser usados para criar o formul´ario no formato HTML:

• Text Renderiza um campo de texto com uma ´unica linha.

• Checkbox Renderiza um conjunto de caixas que permite m´ultipla escolha. • Select Renderiza uma lista de op¸c˜oes para que uma seja escolhida.

• Radio Renderiza um conjunto de caixas e permite que apenas uma seja marcada. • Textarea Renderiza um campo de texto com mais de uma linha.

• Submit Renderiza um bot˜ao que depois de pressionado submete os dados do for-mul´ario para o servidor processar.

A figura 12 ilustra um formul´ario eletrˆonico no formato HTML renderizado por um navegador Web. Os campos para preencher s˜ao, respectivamente, os seguintes elementos: text, radio, select, checkbox, textarea e submit.

(35)

Figura 12: Exemplo de formul´ario eletrˆonico em HTML

Para validar os dados de entrada do usu´ario sem enviar a requisi¸c˜ao para o servidor a linguagem JavaScript ´e utilizada. Trata-se de uma linguagem interpretada no pr´oprio navegador do cliente. O JavaScript ´e embutido no HTML ou referenciado externamente. A linguagem permite adicionar caracter´ısticas dinˆamicas `a p´agina como, por exemplo, esconder / mostrar ´areas do formul´ario de acordo com a entrada de dados do usu´ario (MCDUFFIE, 2003). A valida¸c˜ao de campos na entrada de dados tamb´em ´e muito ´util, pois se os dados precisarem ser enviados ao servidor para valida¸c˜ao, o processo se torna mais lento.

Ainda temos o Cascading Style Sheets (W3C-CSS, 2007) que ´e uma linguagem utilizada t˜ao somente para descrever o estilo (cores, fontes, leiaute e outras caracter´ıstica de apre-senta¸c˜ao) de documentos estruturados (HTML, XML, XHTML, entre outros). O CSS ´e utilizado para definir a aparˆencia dos formul´arios eletrˆonicos em HTML.

As diferen¸cas de usabilidade e riqueza interativa entre aplica¸c˜oes Web e Desktop (aplica¸c˜oes com interface gr´afica) vˆem se reduzindo nos ´ultimos anos. Com o advento do AJAX (Asynchronous JavaScript and XML) aplica¸c˜oes Web ganharam riqueza de interatividade (CABRERA, 2006). O AJAX permite que dados sejam trocados entre o servidor e o cliente sem que a p´agina do navegador seja completamente recarregada, o que permite diminuir a carga de trabalho do usu´ario.

(36)

Algumas linguagens de prop´osito espec´ıfico foram criadas utilizando as marca¸c˜oes XML. Isso inclui XHTML, RSS, MathML, GraphML, SVG, MusicXML, etc. Uma de-fini¸c˜ao recente do W3C Consortium definiu uma linguagem XML para especifica¸c˜ao de formul´arios eletrˆonicos. Trata-se do XForms (W3C-XFORMS, 2007). XForms foi desenvol-vido para ser o sucessor dos formul´arios HTML / XHTML, mas ´e gen´erico o suficiente para ser usado na forma “stand-alone” inclusive com aplica¸c˜oes baseadas em outras tecnologias diferentes de HTML / XHTML.

Diferente dos formul´arios em HTML, os formul´arios em XForms s˜ao usados em uma estrutura Modelo-Vis˜ao-Controlador (MVC). Onde o modelo consiste em descrever os dados do formul´ario, restri¸c˜oes aos dados e submiss˜oes. A vis˜ao descreve que controles aparecem no formul´ario, como eles s˜ao agrupados e, usando CSS, define qual sua aparˆencia. De acordo com Raman (2004) um XForm pode ser t˜ao simples quanto um formul´ario em HTML bastando informar os campos e o bot˜ao de submiss˜ao. Por´em o XForms oferece v´arios recursos avan¸cados. Por exemplo, novos dados podem ser requisitados ao servidor e usados para atualizar o formul´ario durante sua exibi¸c˜ao, sem renderizar novamente a p´agina toda. Esse recurso ´e muito parecido com o uso do objeto XmlHttpRequest do JavaScript, mas no XForms nenhum script precisa ser escrito. O autor do formul´ario pode validar os dados contra um esquema XML, mostrar / ocultar regi˜oes do formul´ario de acordo com as circunstˆancias, fazer c´alculos simples entre os campos e modificar como a aparˆencia ´e exibida de acordo com o dispositivo usado para visualiza¸c˜ao. Tudo isso sem criar c´odigos em JavaScript.

Apesar da tecnologia XForms ser superior aos formul´arios HTML / XHTML tradici-onais, ainda n˜ao existe suporte nativo dos navegadores atuais para a tecnologia. Atrav´es de instala¸c˜oes de plugins desenvolvidos para os navegadores mais utilizados pode-se ha-bilitar o reconhecimento dos formul´arios XForms. Por´em, como a atividade de instala¸c˜ao

(37)

desse recurso demanda conhecimento t´ecnico, a tecnologia torna-se limitada para atingir a grande massa de usu´arios finais. Nas figuras 13 e 14 vemos um exemplo mostrando as diferen¸cas entre um formul´ario eletrˆonico definido em HTML / XHTML e outro em XForms.

Figura 13: Exemplo de c´odigo de formul´ario eletrˆonico em HTML

Figura 14: Exemplo de c´odigo de formul´ario eletrˆonico em XForms

3.2.3

Interface gr´

afica

Interface gr´afica do usu´ario ´e um mecanismo de intera¸c˜ao homem-computador (CYBIS; BETIOL; FAUST, 2007). Com um mouse ou teclado o usu´ario ´e capaz de selecionar s´ımbolos e manipul´a-los de forma a obter algum resultado pr´atico. A interface gr´afica apresenta ´ıcones, indicadores visuais, elementos gr´aficos especiais denominados “widgets”, r´otulos de textos explicativos e navega¸c˜ao atrav´es de menus. As a¸c˜oes do usu´ario s˜ao realizadas atrav´es de manipula¸c˜ao direta desses elementos.

Uma interface gr´afica ´e constru´ıda utilizando uma linguagem de programa¸c˜ao, po-dendo adquirir aparˆencia nativa do sistema operacional, ou aparˆencia pr´opria criada pela linguagem utilizada. A conseq¨uˆencia de tal fato ´e que para construir um formul´ario eletrˆ

(38)

o-cas utilizando ferramentas RAD aumenta a produtividade do programador e a usabilidade da interface.

No geral, utilizando o desenvolvimento de formul´arios eletrˆonicos com interface gr´afica, ´e poss´ıvel atingir n´ıveis de usabilidade superiores aos atingidos com as tecnologias HTML / XHTML / XML. As tecnologias baseadas em XML devem rodar em navegadores, e est˜ao limitadas as estruturas do HTML, ao protocolo HTTP e capacidade de renderiza¸c˜ao dos navegadores. Por´em as interfaces gr´aficas locais n˜ao sofrem tais limita¸c˜oes e desfrutam de componentes mais interativos, mais amig´aveis para os usu´arios finais. Para entender, basta comparar um leitor de e-mail com interface gr´afica local, e um leitor de e-mail Web.

Figura 15: Exemplo de ferramenta RAD criando um formul´ario eletrˆonico

A figura 15 ilustra um ambiente de desenvolvimento integrado utilizando uma ferra-menta RAD para constru¸c˜ao de um formul´ario eletrˆonico Desktop.

(39)

3.2.4

Office

Office ´e uma su´ıte de programas para escrit´orio com o objetivo de aumentar a pro-dutividade na elabora¸c˜ao de documentos eletrˆonicos. Em geral, uma su´ıte apresenta programas como processador de texto, planilha de c´alculo, apresenta¸c˜ao gr´afica, gerenci-ador de contatos e leitor de e-mails. O Microsoft Office e o OpenOffice.org s˜ao as su´ıtes de escrit´orio mais conhecidas e utilizadas.

O Microsoft Office (MICROSOFT, 2007) ´e propriet´ario, pertencente `a empresa Micro-soft, e detˆem cerca de 90% do mercado. O Microsoft Office foi desenvolvido para rodar no Microsoft Windows e no Mac OS X da Apple. A primeira vers˜ao da su´ıte foi em 1989 e rodava no Macintosh, um ano mais tarde surgiu a vers˜ao para Windows. Os principais softwares do Microsoft Office s˜ao o Word (editor de textos), Excel (editor de planilhas) e PowerPoint (editor de apresenta¸c˜oes gr´aficas).

O OpenOffice.org (OPENOFFICE.ORG, 2007) ´e gratuito e de c´odigo livre. Roda nos sistemas operacionais mais usados. A su´ıte foi baseada no StarOffice desenvolvido pela empresa StarDivision. Mais tarde, quando adquirido pela Sun Microsystems, teve seu nome alterado para OpenOffice.org. A su´ıte vem dispon´ıvel junto com diversas distribui-¸c˜oes do Linux. Seus principais programas s˜ao um editor de textos (Writer), um editor de planilhas (Calc) e um editor de apresenta¸c˜oes gr´aficas (Impress).

Um formul´ario eletrˆonico pode ser facilmente elaborado a partir de um editor de textos ou de planilhas. Dentre as op¸c˜oes para usu´arios comuns, o formato Office para formul´arios ´e o mais acess´ıvel, dado que os formatos baseados em XML e Interface Gr´afica necessitam de dom´ınio de linguagens de programa¸c˜ao.

A desvantagem do formato em rela¸c˜ao aos demais ´e que, ao preencher o formul´ario, o usu´ario pode tamb´em alterar os r´otulos ou estrutura do formul´ario, pois n˜ao ´e poss´ıvel tornar regi˜oes do documento n˜ao edit´aveis, ou seja, que permita apenas leitura. Esse problema ´e agravado quando h´a necessidade de seguran¸ca no fluxo de trabalho ao qual o formul´ario eletrˆonico pertence.

Outra limita¸c˜ao desse formato ´e a impossibilidade de criar campos de sele¸c˜ao, como o radio, o checkbox e o select do HTML. ´E poss´ıvel adapt´a-los utilizando um texto por extenso com uma explica¸c˜ao de preenchimento. Por´em essa abordagem diminui a usabili-dade alcan¸cada pelos componentes interativos de sele¸c˜ao. O formato Office tamb´em n˜ao permite a valida¸c˜ao autom´atica de dados preenchidos, que podem ser feitas nos formatos baseados em XML / HTML atrav´es de JavaScript.

(40)

imagens, e vetores 2D). O formato de arquivo PDF utiliza o mesmo modelo que a lingua-gem de descri¸c˜ao de p´aginas para impress˜ao, o PostScript, por´em cont´em mais recursos e ´e mais estruturado (SYSTEMS, 2007c).

As p´aginas do documento (e outros elementos visuais) podem conter qualquer com-bina¸c˜ao de texto, gr´aficos e imagens. A aparˆencia de uma p´agina ´e representada por um fluxo de bytes na estrutura do PDF, o qual descreve objetos gr´aficos que dever˜ao ser de-senhados na p´agina. Essa aparˆencia ´e totalmente especificada; todo leiaute e formata¸c˜oes j´a foram feitos pela aplica¸c˜ao que gerou o fluxo de bytes.

Al´em da descri¸c˜ao est´atica das p´aginas, o documento pode conter elementos interativos que apenas s˜ao vis´ıveis no formato eletrˆonico do documento. O PDF suporta anota¸c˜oes, hiperlinks, marca¸c˜oes de texto, arquivos anexos, sons e filmes (SYSTEMS, 2007c).

O documento PDF permite tamb´em a cria¸c˜ao de formul´arios eletrˆonicos, pois permite a defini¸c˜ao de campos interativos que podem ser preenchidos. Possui elementos interativos de sele¸c˜ao de datas atrav´es de calend´ario, al´em dos tradicionais combobox, radiobox e checkbox. Outro recurso ´util, ´e o autocompletar para textos que j´a foram digitados anteriormente.

Existem v´arios leitores de arquivos PDF para sua visualiza¸c˜ao, o mais famoso deles ´e o Adobe Reader, distribu´ıdo pela Adobe Systems, a pr´opria empresa que criou o formato PDF. Esse programa permite apenas a visualiza¸c˜ao do documento, inclu´ıdo recursos de sele¸c˜ao e procura de texto. Para criar arquivos PDF ´e necess´ario outro software, como por exemplo, o Adobe Professional. O Professional permite a cria¸c˜ao de documentos PDF a partir de arquivos do Microsoft Office, arquivos escaneados, ou templates escolhidos. Como a Adobe tornou o PDF um formato aberto, outros softwares (gratuitos ou n˜ao) foram desenvolvidos para cria¸c˜ao de arquivos PDF.

(41)

assi-Figura 16: Exemplo de um formul´ario eletrˆonico em PDF

naturas digitais que o formato oferece. Outros arquivos tamb´em podem ser assinados digitalmente, por´em algum software adicional ´e necess´ario, tanto para assinar, quanto para conferir a assinatura. No caso do PDF ´e poss´ıvel conferir a assinatura atrav´es do Adobe Reader, podendo inclusive ver o certificado digital que representa a entidade que assinou o documento. ´E poss´ıvel, atrav´es do Adobe Professional, assinar arquivos PDF e se for habilitado, o Reader tamb´em ´e capaz de fazˆe-lo.

As desvantagens oferecidas pelo formato Office parecem todas ter sido solucionadas no formato PDF. Existem elementos interativos para sele¸c˜ao, o documento permite a edi-¸c˜ao apenas dos campos do formul´ario e n˜ao permite a edi¸c˜ao da estrutura do arquivo, e tamb´em, possui uma usabilidade excelente para usu´arios finais. Por´em a grande des-vantagem ´e gerar o formul´ario eletrˆonico PDF. Para isso ´e necess´ario possuir o Adobe Professional, que n˜ao ´e gratuito, ou utilizar algum programa ou software capaz de fazˆe-lo. Para o usu´ario final, ´e algo dif´ıcil de realizar. O formato PDF oferece tamb´em suporte a valida¸c˜ao da entrada de dados nos campos de formul´arios.

A figura 16 demonstra um formul´ario eletrˆonico em PDF sendo visualizado no Adobe Reader. O formul´ario j´a foi preenchido e assinado. No lado esquerdo da imagem est´a um resumo dos dados das assinaturas do documento.

(42)

HTML Navegador web

XML (XForms) Navegador web + plugin

Interface Gr´afica Infra-estrutura requerida pela linguagem utilizada Office Su´ıte de aplicativos para escrit´orio

PDF Adobe Reader

Tabela 1: Softwares adicionais necess´arios para visualiza¸c˜ao e preenchimento de formul´ a-rios eletrˆonicos

Todos os formatos necessitam de softwares ou configura¸c˜oes adicionais. Quando o formul´ario baseado em interface gr´afica n˜ao necessita de infra-estrutura adicional ´e porque, geralmente, a linguagem utilizada gerou um execut´avel nativo de sistema operacional (n˜ao port´avel). Todos os formatos podem ser utilizados apenas com softwares gratuitos.

Recurso HTML XML Int. Gr´afica Office PDF

Ocultar / mostrar regi˜oes do formul´ario

Sim1 Sim Sim ao ao

Valida¸c˜ao na entrada de dados

Sim1 Sim Sim ao Sim

N˜ao permitir edi¸c˜ao de r´otulos

Sim Sim Sim N˜ao Sim

Autocompletar textos Sim2 Sim2 Sim ao Sim

Componentes interativos de sele¸c˜ao

Sim Sim Sim N˜ao Sim

Suporte `a assinaturas di-gitais

N˜ao N˜ao N˜ao N˜ao Sim

Tabela 2: Recursos oferecidos pelas tecnologias de defini¸c˜oes de formul´arios eletrˆonicos A tabela 2 demonstra os recursos que as tecnologias oferecem para constru¸c˜ao de formul´arios eletrˆonicos. Os principais recursos avaliados s˜ao detalhados a seguir:

• Ocultar / mostrar regi˜oes do formul´ario Trata-se de omitir ou mostrar regi˜oes

1Utilizando JavaScript 2Recurso do navegador web

(43)

do formul´ario que s´o devem ser preenchidas caso alguma caracter´ıstica foi especifi-cada. Por exemplo, mostrar um campo CPF caso for definido pessoa f´ısica ou CNPJ caso definido pessoa jur´ıdica.

• Valida¸c˜ao na entrada de dados Refere-se a capacidade de validar dados de acordo com regras definidas. A maioria dos formatos define uma linguagem ou meio de especificar tais valida¸c˜oes.

• N˜ao permitir edi¸c˜ao de r´otulos Apenas os campos devem ser preenchidos em um formul´ario. Os r´otulos j´a foram feitos, possivelmente por outra pessoa, e n˜ao devem ser edit´aveis.

• Autocompletar textos Recurso que possibilita agilidade no preenchimento do formul´ario. Ao preencher um dado pela segunda vez, o recurso lembra o que foi anteriormente preenchido e oferece capacidade de autocompletar.

• Componentes interativos de sele¸c˜ao Existˆencia de componentes que facilitam a sele¸c˜ao de um ou mais itens em uma lista.

• Suporte `a assinaturas digitais Suporte interno pelo formato `a assinaturas digi-tais, permitindo assinar e verificar assinaturas.

Qual formato escolher depende das necessidades da aplica¸c˜ao que for desenvolvida. De acordo com os recursos que foram apontados ´e poss´ıvel optar pela melhor escolha.

(44)

sa´ıram da Xerox PARC com objetivo de comercializar a linguagem de descri¸c˜ao de p´aginas PostScript (SYSTEMS, 2007b). A linguagem fornece uma m´aquina de pilha e comandos espec´ıficos para o desenho de letras e figuras, incluindo comandos de tra¸cado e formas de representa¸c˜ao de imagens. Em mar¸co de 1985 a primeira impressora baseada em PostScript foi lan¸cada pela Apple e, a partir de ent˜ao, a linguagem PostScript tornou-se popular.

Em 1991 John Warnock escreveu o “Camelot paper” (Camelot mais tarde viria a se chamar Acrobat) (LOWAGIE, 2006), onde comentava o seguinte:

O grande problema ´e que a maioria dos programas existentes imprime utilizando uma variedade de impressoras, mas n˜ao existe nenhuma ma-neira universal de apresentar o conte´udo impresso eletronicamente... O que a ind´ustria precisa ´e uma maneira universal de distribuir documen-tos eletrˆonicos atrav´es de diferentes configura¸c˜oes de m´aquina, sistema operacional e redes de telecomunica¸c˜ao.

Como resultado desse artigo um novo projeto come¸cou a ser desenvolvido pelos en-genheiros da Adobe Systems e ent˜ao surgiu o Portable Document Format (PDF), criado em 1993 como uma evolu¸c˜ao do PostScript. Naquela ´epoca a Adobe cobrava pelas ferra-mentas de criar os documentos no formato PDF e tamb´em pelas ferramentas usadas para visualiz´a-lo. O formato n˜ao fez sucesso na sua primeira vers˜ao, pois era caro e existam produtos concorrentes. T˜ao cedo a Adobe passou a disponibilizar o leitor de documen-tos PDF de forma gratuita, o formato se tornou de fato um padr˜ao para documentos impressos (WIKIPEDIA, 2007c).

(45)

4.1

Portable Document Format

Portable Document Format ´e uma combina¸c˜ao de trˆes tecnologias:

• A linguagem de descri¸c˜ao de p´aginas PostScript, para descrever os gr´aficos e leiaute. • Um sistema de substitui¸c˜ao de fontes para permitir que as fontes mantenham-se

port´aveis.

• Um sistema de armazenamento estruturado para conter todos os elementos que fazem parte do documento em um ´unico arquivo, com compress˜ao de dados quando necess´ario.

O formato sofreu v´arias altera¸c˜oes ao longo dos anos, conforme a vers˜ao do software da Adobe foi evoluindo. J´a foram lan¸cadas oito vers˜oes do formato: 1.0 (1993), 1.1 (1994), 1.2 (1996), 1.3 (1999), 1.4 (2001), 1.5 (2003), 1.6 (2005), e 1.7 (2006) (WIKIPEDIA, 2007c). A vers˜ao 1.0 do formato PDF corresponde `a primeira vers˜ao do Adobe Acrobat e da 1.1 a 1.7, respectivamente, as vers˜oes subseq¨uentes. Atualmente o formato PDF se encontra na vers˜ao 1.7 e a fam´ılia de produtos Adobe Acrobat (Adobe Reader e Adobe Professional) na vers˜ao 8.0.

4.2

Propriedade intelectual da especifica¸

ao PDF

A Adobe possui o copyright sobre as especifica¸c˜oes PDF, mas para promover o uso do Portable Document Format com interoperabilidade com os diversos produtos e aplica¸c˜oes, a Adobe permite o direito de (SYSTEMS, 2007c):

• Construir arquivos de acordo com a especifica¸c˜ao PDF.

• Escrever aplica¸c˜oes que aceitem PDF como entrada de dados e apresentem, impri-mam ou interpretem seu conte´udo.

• Copiar ou escrever as estruturas e operadores da especifica¸c˜ao PDF que forem ne-cess´arios para atingir os itens acima.

• As aplica¸c˜oes criadas que utilizarem o formato devem manter as permiss˜oes de acesso definidas pelo usu´ario.

(46)

Recurso 3D Professional Standard Elements Criar arquivos PDF a partir de

qual-quer aplica¸c˜ao que imprima

• • • •

Selecionar configura¸c˜oes de compres-s˜ao e resolu¸c˜ao do arquivo ao criar o PDF

• • • •

Criar documentos PDF a partir da su´ıte de aplicativos para escrit´orio Microsoft Office

• • • •

Proteger documentos usando senhas • • • •

Aplicar restri¸c˜oes na impress˜ao, alte-ra¸c˜ao e c´opia do PDF

• • • •

Escanear documentos e autom´ atica-mente reconhe¸cer o texto atrav´es de reconhecimento de caracteres

• • •

Adicionar arquivos anexos ao docu-mento PDF

• • •

Adicionar cabe¸calhos, rodap´es ou marcas d’´agua a documentos PDF

• • •

Criar documentos PDF a partir do Internet Explorer ou Outlook man-tendo arquivos anexos, links e book-marks

• • •

Permitir usar ferramentas de inclus˜ao de notas, carimbos, edi¸c˜ao e destaque de texto

• • •

Unificar dois ou mais arquivos PDF • • • Mesclar p´aginas de v´arios

aplicati-vos diferentes em m´ultiplas p´aginas de um ´unico documento PDF

• • •

Criar documentos PDF a partir do Microsoft Visio, AutoCAD e Micro-soft Project

• •

Exportar ou importar os dados do formul´ario para documentos XML

(47)

Recurso 3D Professional Standard Elements Habilitar usu´arios do Adobe Reader

permitindo que visualizem as ferra-mentas de revis˜ao e coment´ario de textos

• •

Habilitar usu´arios do Adobe Reader para poderem assinar digitalmente o documento PDF

• •

Detectar autom´aticamente campos de formul´arios a partir da convers˜ao para PDF

• •

Habilitar usu´arios do Adobe Reader para preencher e salvar formul´arios localmente

• •

Embutir v´ıdeos, sons e gr´aficos 3D • • Criar formul´arios PDF a partir de

documentos do Microsoft Office ou scanner

• •

Criar documentos com conte´udo 3D interativo

• Converter arquivos CAD com desing 3D para formato PDF

Tabela 3: Recursos oferecidos pelos softwares da fam´ılia Adobe Acrobat 8 (SYSTEMS, 2007a, tradu¸c˜ao nossa)

O Adobe Acrobat Elements 8, como vimos na tabela 3, possui funcionalidades simples de cria¸c˜ao e convers˜ao de documentos PDF, possibilitando uso de senhas e aplica¸c˜ao de algumas restri¸c˜oes. O Adobe Abrobat Standard 8 permite manipula¸c˜ao de coment´arios, arquivos anexos, ferramentas de colabora¸c˜ao e jun¸c˜ao de documentos para produzir um ´

unico arquivo PDF. O Adobe Acrobat Professional 8 permite habilitar permiss˜oes para que usu´arios do Adobe Reader possam assinar e preencher formul´arios. J´a o Adobe Acrobat 3D 8 ´e capaz de unir gr´aficos CAD ao documento PDF.

4.4

Recursos do Adobe Acrobat Professional 8

A seguir os recursos oferecidos pela fam´ılia de produtos Adobe Acrobat, mais espe-c´ıficamente o Adobe Acrobat Professional 8, ser˜ao descritos com mais detalhes incluindo exemplos pr´aticos de demonstra¸c˜ao.

(48)

legalidade das assinaturas (altera¸c˜oes no documento posteriores `a assinatura, revo-ga¸c˜ao, autoridade certificadora confi´avel e carimbo de tempo).

• Dados de formul´arios Torna-se poss´ıvel preencher e salvar dados em formul´arios localmente, assim como exportar e importar dados e submetˆe-los por e-mail ou web. Por padr˜ao o Reader ´e capaz apenas de imprimir os dados preenchidos de um formul´ario, sem salv´a-los localmente.

• Ferramentas de colabora¸c˜ao Uma barra de ferramentas nova ´e adicionada ao menu de op¸c˜oes do Adobe Reader. A barra de ferramentas permite adicionar co-ment´arios, marca¸c˜oes e carimbos, assim como pequenas altera¸c˜oes de texto.

Figura 17: Barra de ferramentas adicionada no Adobe Reader ap´os habilitar recursos para o documento PDF

Figura 18: Habilitando recursos para o Adobe Reader

Para que tais recursos tornem-se dispon´ıveis no documento PDF ´e necess´ario, utili-zando o Adobe Professional, navegar at´e o menu Advanced e clicar na op¸c˜ao Enable Usage Rights in Adobe Reader como demonstra a figura 18.

(49)

4.4.2

Coment´

arios

Um recurso colaborativo muito ´util para revis˜ao de textos ´e a adi¸c˜ao de coment´arios ao documento. Os coment´arios s˜ao posicionados em caixas como apresentado na figura 19. Seu texto n˜ao ´e vis´ıvel diretamente no documento, para visualiz´a-lo ´e necess´ario clicar no ´ıcone do coment´ario para que a caixa se abra e o texto apare¸ca. ´E poss´ıvel ver todos os coment´arios do documento em lista ordenados por nome do autor ou data como demonstrado na figura 20. Esse recurso n˜ao ´e dispon´ıvel no Adobe Reader a menos que seja habilitado.

Figura 19: Adicionando coment´arios

Figura 20: Listagem de coment´arios do documento

4.4.3

Carimbos

Outro recurso colaborativo ´util ´e a marca¸c˜ao do documento com carimbos. ´E poss´ıvel representar o status atual do documento adicionando um carimbo adequado. Por exemplo, em um fluxo de trabalho que engloba aprova¸c˜ao de documentos, seria poss´ıvel adicionar um carimbo de status “Aprovado” ou “Reprovado”. Outros status poss´ıveis representados por carimbos podem ser observados na figura 21. Esse recurso n˜ao ´e dispon´ıvel no Adobe Reader a menos que seja habilitado.

(50)

Figura 21: Alguns carimbos dispon´ıveis para marcar documentos

4.4.4

Edi¸

oes de texto

As ferramentas de edi¸c˜oes de texto s˜ao ´uteis para revis˜ao ortogr´afica ou corre¸c˜ao de documentos. Atrav´es delas ´e poss´ıvel solicitar ao autor do documento a substitui¸c˜ao, inclus˜ao ou exclus˜ao de trechos de texto. O texto selecionado ´e riscado quando solicitado substitui¸c˜ao ou exclus˜ao. Solicitar inclus˜ao ou substitui¸c˜ao de textos habilita uma caixa suspensa (semelhante `a de coment´arios) para escrever o novo texto solicitado. ´E poss´ıvel tamb´em real¸car textos. As figuras 22 e 23 demonstram a ferramenta de edi¸c˜ao de textos. Esse recurso n˜ao ´e dispon´ıvel no Adobe Reader a menos que seja habilitado.

4.4.5

Arquivos anexos

O Adobe Acrobat Professional 8 permite anexar arquivos ao documento PDF. O PDF continua um ´unico arquivo e ao abri-lo, ´e poss´ıvel abrir tamb´em o arquivo anexo. ´E poss´ıvel ver todos os arquivos anexos ao documento em uma lista, ordenados por nome ou data de inclus˜ao como demonstrado na figura 24.

4.4.6

Sons e v´ıdeos

´

E poss´ıvel inserir conte´udo multim´ıdia em um documento PDF. Esse conte´udo pode ser reproduzido quando desejado pelo Adobe Reader. Na figura 25 temos um PDF com

(51)

Figura 22: Instru¸c˜oes para corre¸c˜ao de textos

Figura 23: Exemplo de texto editado com as ferramentas

Figura 24: Lista de arquivos anexos ao documento PDF

um arquivo de som (mp3) embutido no canto esquerdo superior da p´agina, ao redor do n´umero “120”. E um arquivo de v´ıdeo (mpg) inserido logo abaixo. Ao clicar na regi˜ao do som ou do v´ıdeo a reprodu¸c˜ao do arquivo multim´ıdia inicia.

4.4.7

Assinaturas digitais

O documento PDF suporta assinaturas digitais internamente em sua estrutura. O Adobe Acrobat ´e capaz de ler as assinaturas e mostr´a-las para o usu´ario, inclusive veri-ficando sua legalidade. A figura 26 mostra uma lista de assinaturas em um documento

(52)

Figura 25: Sons e v´ıdeos

PDF no formato apresentado pelo Adobe Acrobat Professional 8.

Figura 26: Lista de assinaturas digitais de um documento PDF

No Adobe Professional ´e poss´ıvel assinar o documento em qualquer lugar da p´agina. J´a no Adobe Reader ´e poss´ıvel assinar o documento apenas se existir um campo de formul´ario com tal finalidade e o documento tiver sido habilitado para tal.

O Adobe Acrobat possui um gerenciador de certificados digitais. ´E poss´ıvel adicionar ao gerenciador um certificado a partir do reposit´orio do Windows, de um dispositivo de harware com interface PKCS #11 ou um certificado armazenado em arquivo no formato PKCS #12. ´E poss´ıvel tamb´em gerar um certificado digital a partir do Adobe para fins

(53)

de testes.

O Adobe possui tamb´em um gerenciador de entidades confi´aveis. A princ´ıpio apenas certificados digitais ligados ao certificado raiz da Adobe ser˜ao confi´aveis. Mas ´e permitido adicionar `a lista de entidades confi´aveis outras entidades conforme necess´ario.

Figura 27: Sele¸c˜ao de certificado digital para assinatura

Para assinar um documento no Adobe Professional basta ir at´e o bot˜ao “Sign” e selecionar “Place signature”. Ap´os selecionado o local do documento desejado a tela representada pela figura 27 ser´a exibida. Nela ´e poss´ıvel selecionar um dos certificados digitais presentes no gerenciador de certificados do Adobe Professional e ent˜ao, depois de informar a senha, assinar o documento. O resultado da assinatura ´e um carimbo representado a entidade do certificado utilizado como mostra a figura 28.

Figura 28: Carimbos de assinatura digital

Para verificar a assinatura basta clicar no carimbo e selecionar “Signature properties”. A figura 29 ser´a exibida. Nesta tela ´e poss´ıvel verificar: a legalidade do certificado, a data / hora da assinatura, se o documento n˜ao foi alterado depois da assinatura e se o certificado n˜ao foi revogado.

(54)

Figura 29: Propriedades da assintura digital 4.4.7.1 Diferen¸cas entre assinatura e certifica¸c˜ao

Na nomenclatura do Adobe Acrobat existem diferen¸cas entre certificar e assinar um documento digital.

Certificar o documento ´e o processo de assinatura realizado geralmente pelo autor do documento. Certificar o documento inibe mudan¸cas posteriores. Ao certificar o docu-mento, como visto na figura 27, ´e permitido selecionar uma das trˆes op¸c˜oes: n˜ao permitir mais mudan¸cas, permitir apenas preenchimento de formul´arios e assinaturas ou permitir preenchimento, assinaturas e coment´arios. Certificar n˜ao deixa de ser uma assinatura, por´em a principal diferen¸ca ´e que ela ´e feita pelo autor do documento.

Assinar o documento est´a relacionado com outras entidades que por ventura queiram comprovar sua aprova¸c˜ao em rela¸c˜ao ao que est´a escrito. ´E permitido inclusive mais de uma assinatura ao documento, por´em apenas uma certifica¸c˜ao.

Por exemplo, uma universidade cria um formul´ario eletrˆonico em PDF e logo ap´os o certifica para que mudan¸cas no formul´ario n˜ao sejam poss´ıveis (apenas preenchimento e assinaturas). A certifica¸c˜ao tamb´em prova a origem do formul´ario. O formul´ario ´e preenchido e assinado por um professor, logo ap´os enviado para o coordenador do curso. O coordenador assina e o processo ´e conclu´ıdo.

4.4.8

Formul´

arios

O documento PDF suporta cria¸c˜ao de formul´arios eletrˆonicos, tamb´em referenciados como AcroForms. Um documento PDF pode conter qualquer n´umero de campos

Referências

Documentos relacionados

1.1 O Sistema de Registro de Preços tem como objetivo manter o registro de propostas vantajosas para atendimento às necessidades e conveniências do SESI-PR. 1.2 O SESI-PR não se

Ele fez uma angioplastia há 3 anos, teve um infarto há 6 meses, angina classe IV, obstru- ção de artéria interventricular anterior de 80% e de coronária direita de 70% e com

S˜ao citadas algumas das tecnologias dis- pon´ıveis para fazˆe-lo e opta-se por usar a linguagem AIML e um m´odulo es- crito na linguagem Python (PyAIML), capaz de interpretar

Definida a classe de modelos, deve-se decidir sobre a estrutura do modelo (linear, bilinear, nao linear, polinomial, etc) e sobre a dimensao da estrutura escolhida (o numero

Valos de infiltração: estes são dispositivos de drenagem lateral, muitas vezes utilizados paralelamente às ruas, estradas, estacionamentos e conjuntos habitacionais, entre outros.

O objetivo especifico (ii) quais as relações entre essas características e como elas determinam maior ou menor envolvimento do controller na gestão e tomada de decisão

Complementando, Heckert e Willson (1963) descrevem que o controller deve fornecer informações oportunas aos gestores em tempo hábil relacionadas às alterações de planos ou

O objetivo deste estudo foi avaliar a influência das fases de anestro e diestro no diâmetro oocitário, na configuração da cromatina em VG e na competência de