Anda di halaman 1dari 14

Applet de realizacin de rma o digital multiformato

Univeristat Jaume I
http://cryptoapplet.nisu.org/

Versin del documento: o Estado del documento: Ultima Actualizacin: o Tipo:

1.2 Borrador. 22 de febrero de 2007 Externo, documentacin de usuario. o

Indice

Indice
1. Resumen 2. Objetivos 3. Comienzo rpido a 3.1. Instalacin del applet en el servidor . . . o 3.2. Instalacin del applet en el cliente . . . . o 3.3. Firma en bruto . . . . . . . . . . . . . . 3.4. Firma en formato PKCS#7/CMS . . . . 3.5. Firma en formato DigiDoc (XAdES-X-L) 3.6. Firma de PDF . . . . . . . . . . . . . . . 4. Conguracin avanzada o 4.1. Parmetros . . . . . . . a 4.2. Uso del formato DigiDoc 4.3. Firma del applet . . . . 4.4. Entrada/Salida . . . . . 4.5. Idiomas . . . . . . . . . 5. Ejemplos de uso 6. Roadmap 3 3 4 4 5 5 6 6 7

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

7 . 7 . 9 . 11 . 11 . 11 13 13

Proyecto Clauer

CryptoApplet

1.

Resumen

El applet de rma de la Univesitat Jaume I es un applet desarrollado en Java para la realizacin desde un navegador de rmas digitales en diferentes formatos, siendo ste o e capaz de emplear directamente los certicados accesibles desde el CryptoAPI de Windows (repositorio de Windows, clauer), o v PKCS11, accediendo directamente al repositorio a de Mozilla Firefox o al clauer, ofreciendo una gestin transparente para el usuario. o

2.

Objetivos

El objeto principal de ste applet es el de realizar el proceso de rma electrnica avanzada e o de forma transparente e integrada tanto para el usuario como para el programador del sitio web que solicita la realizacin de la rma. El applet obtiene una entrada de datos o determinada y ofrece como salida un objeto que representa la rma digital en los siguientes formatos: Firma en bruto: En este caso el applet utiliza el algoritmo RSA para rmar los datos que se le facilitan como entrada, sobre estos datos se realiza la operacin o d r = (sha1(msg)) mod n ofreciendo como salida el resultado r, siendo msg los datos de entrada, d el exponente privado y n el mdulo de la clave. o Firma en formato PKCS#7/CMS: En este caso, el applet obtiene el resumen SHA-1 de los datos a rmar y realiza el proceso de rma ofreciendo como salida un PKCS#7 que representa la misma. Firma en formato DigiDoc (XAdES-X-L): En este caso, el applet obtiene los datos y ofrece una rma digital en formato DigiDoc (XAdES-X-L). Firma de pdf: En este caso, el applet recibe un pdf como entrada y ofrece un pdf rmado cuya rma digital es interpretada y validada correctamente por Adobe Reader. El applet tambin es capaz de reconocer el navegador que lo est ejecutando obteniendo e a as los certicados de rma desde el almacn de certicados correspondiente. Los navega e dores soportados son: Internet Explorer 6 y 7 obteniendo los certicados del CryptoApi. Navegadores de la familia Mozilla obteniendo los certicados de su almacen nativo mediante PKCS#11. En ambos navegadores se permite utilizar certicados almacenados en el clauer1 . Los sistemas operativos soportados son GNU/Linux y Windows XP.
1

Vase http://clauer.uji.es e

Proyecto Clauer

CryptoApplet

3 Comienzo rpido a

3.

Comienzo rpido a

Obtn la ultima versin del applet de http://cryptoapplet.nisu.org/. En esta direccin e o o puedes encontrar las bibliotecas asociadas a cada funcionalidad del applet bajo el directorio /lib en /doc puedes encontrar ste documento y en /samples puedes encontrar algunos e ejemplos de uso. En la ra tambin encontrars el chero jar con el programa principal z e a y un tar.gz con todos los cheros jar del proyecto.

3.1.

Instalacin del applet en el servidor o

Para instalar el applet en el servidor basta con crear un directorio accesible por el servidor web y copiar all los cheros *.jar de los que se compone el applet, el programa principal (el init del applet) se encuentra en CryptoApplet.jar. Para incluir el applet en la pgina a web puedes utilizar las siguientes etiquetas: < Applet > (Recomendada por Sun por compatibilidad) < Object > (Slo para Internet Explorer) o < Embed > (Slo para navegadores de la familia Mozilla) o A continuacin se expondr como utilizar la etiqueta Applet para instanciar el applet, o a suponiendo que los cheros *.jar se encuentran en http://example.com/aps/stable, el cdigo seria el siguiente: o

<applet id="CryptoApplet" name="CryptoApplet" code="es.uji.dsign.applet.SignatureApplet" width="0" height="0" codebase="aps/stable" archive="CryptoApplet.jar,lbc.jar,jakarta-log4j-1.2.6.jar" mayscript> <param name="signFormat" value="es.uji.dsign.crypto.CMSSignatureFactory"> <param name="signInputParams" value="es.uji.dsign.io.AppletInputNullParams"/> <param name="signOutputParams" value="es.uji.dsign.io.AppletOutputParams"/> <param name="progressBar" value="true"/> </applet>

La primera l nea contiene identicador, nombre, cdigo que contiene la inicializacin del o o applet, tamao, directorio base del cdigo en el servidor, que archivos jar se deben incluir n o Proyecto Clauer CryptoApplet

3.2 Instalacin del applet en el cliente o

en la ejecucin del applet y la etiqueta mayscript que indica que el applet puede interaco cionar con la pgina mediante funciones JavaScript respectivamente. a A continuacin, en el cuerpo de la etiqueta applet, encontramos los parmetros, deo a nidos con ms detalle en el punto 4.1. en este caso la conguracin de parmetros a o a que se ha utilizado indica que el tipo de salida es un objeto PKCS#7 (parmetro2 a es.uji.dsign.crypto.CMSSignatureFactory), que el hash de entrada para la rma se obtendr como parmetro en la invocacin de la funcin de rma (parmetro AppletIna a o o a putNullParams). El siguiente parmetro indica dnde va la salida, en este caso, el valor a o es.uji.dsign.io.AppletOutputParams indica que debe pasar el resultado como parmetro a a una funcin JavaScript denida en el HTML de la pgina y por ultimo el parmetro o a a progressBar indica que se muestre al usuario algn tipo de progreso durante la carga de u certicados y la realizacin de la rma. o Para que el applet comienze el proceso de rma, debemos invocar la funcin: o document.CryptoApplet.sign(hash); El resultado se devuelve como parmetro de la invocacin a la funcin JavaScript onSiga o o nOk que debe estar denida en el HTML de la pgina. Un ejemplo podr ser el siguiente: a a function onSignOk(signature){ document.formu.firma.value=signature; document.formu.submit(); } En el directorio indicado por el atributo codebase debe contener, adems de los cheros a jar indicados en el atributo archive, la dll MicrosoftCryptoApi 0 3.dll.

3.2.

Instalacin del applet en el cliente o

El Applet se instala de forma transparente en el cliente cuando ste se instancia, el e applet crea dos cheros temporales en el directorio temporal del usuario, uno denominado MicrosoftCryptoApi 0 3.dll en el caso de Internet Explorer y uno denominado p11.cfg.1166440118 en caso de que el cliente utilize Mozilla.

3.3.

Firma en bruto

Para realizar ste tipo de rma, debemos utilizar al menos los siguientes parmetros. e a <param name="signFormat" value="es.uji.dsign.crypto.RawSignatureFactory"/> <param name="signInputParams" value="es.uji.dsign.io.AppletInputNullParams"/> <param name="signOutputParams" value="es.uji.dsign.io.AppletOutputParams"/>
2

Para ms informacin con respecto a los parmetros posibles, ver seccin 4.1 ms adelante. a o a o a

Proyecto Clauer

CryptoApplet

3 Comienzo rpido a

para realizar la rma invocaremos, como anteriormente: document.CryptoApplet.sign(datos); Y el resultado de la misma ser nuevamente pasado como parmetro a la funcin JavaSa a o cript onSignOk que debe estar denida.

3.4.

Firma en formato PKCS#7/CMS

Para realizar la rma en este formato debemos utilizar la conguracin expuesta en el o punto 3.1. El procedimiento de rma del applet que obtiene este formato de representacin de rma o es especialmente interesante, su inters reside en el hecho de que para realizar la rma e de unos datos, el applet slo requiere el resumen SHA-1 de los datos, de esta forma un o cliente puede rmar datos con gran tamao tranriendo unicamente 20 bytes por la red n y ste puede auditar posteriormente la rma realizada si se le ofrece el objeto PKCS#7. e Un escenario t pico de esto es un webmail3 , en el que se utiliza S/MIME para la encapsulacin de rmas digitales donde un correo electrnico puede contener varios adjuntos o o que hagan que ste tenga un tamao considerable, el proceso de rma en este caso ser e n a el siguiente: 1. El cliente compone el mensaje con sus adjuntos y lo env al servidor. a 2. El servidor compone los datos que forman la rma, los resume con una funcin hash o y devuelve los 20 bytes resultantes al cliente para ser rmados. 3. El cliente devuelve al servidor el objeto PKCS#7. 4. El servidor compone el mail S/MIME con la rma y lo env a.

3.5.

Firma en formato DigiDoc (XAdES-X-L)

Para realizar una rma en este formato, en primer lugar debemos incluir todas las bibliotecas necesarias en el atributo archive de la etiqueta applet, stas son: e archive="CryptoApplet.jar,bcprov-jdk14-133.jar,bcmail-jdk14-133.jar, jakarta-log4j-1.2.6.jar,bctsp-jdk14-133.jar,xmlsec.jar, myxmlsec.jar,xalan.jar,iaik_jce.jar,iaikPkcs11Wrapper.jar" Adems de esto, debemos utilizar los siguientes parmetros del applet: a a <param name="signFormat" value="es.uji.dsign.crypto.XAdESSignatureFactory"> En cuanto a los parmetros relativos a la entrada de datos en el applet, es aconsejable, a dado que normalmente los datos a rmar suelen ser extensos, utilizar los siguientes:
3

Puede verse un ejemplo simplicado en http://cryptoapplet.nisu.org/applet/samples/sigmail.php

Proyecto Clauer

CryptoApplet

3.6 Firma de PDF

<param <param <param <param

name="signInputParams" value="es.uji.dsign.io.URLInputParams"/> name="signOutputParams" value="es.uji.dsign.io.URLOutputParams"/> name="urlInput" value="http://example.com/datos"/> name="urlOutput" value="https://example.com/resultado.php"/>

De esta forma, el applet obtendr los datos a rmar de la URL indicada por urlInput a enviando un POST con la variable content conteniendo el resultado de la rma codicado en base64 a la URL indicada por urlOutput. Tambin deben incluirse algunos cheros extra que se describen en el punto 4.2. e

3.6.

Firma de PDF

Para la realizacin de rma de pdf se aconseja utilizar los mismos parmetros que en el o a ejemplo anterior 3.5, a excepcin de signFormat cuyo valor debe ser: o

<param name="signFormat" value="es.uji.dsign.crypto.PDFSignatureFactory">

El proceso realizado por el applet con los parmetros recomendados ser anlogo al a a a expuesto en el punto anterior. En la versin 1 del applet la rma de PDF permite unicamente rmar documentos con o certicados expedidos por la ACCV4 . La versin 2 del applet facilitar mediante un chero de conguracin la posibilidad de o a o indicar otras autoridades de certicacin con la que permitir la rma de documentos PDF. o En la seccin de ejemplos puede verse uno para este formato de rma. o

4.
4.1.

Conguracin avanzada o
Parmetros a

El applet soporta los parmetros que mostramos a continuacin, estos pueden combinarse a o para obtener distintos tipos de formato de rma y obtener o devolver los datos a rmar de maneras diferentes.
4

Vase http://www.accv.es e

Proyecto Clauer

CryptoApplet

8 Nombre Posible valor / Descripcin o

4 Conguracin avanzada o

Valor: es.uji.dsign.crypto.RawSignatureFactory Descripcin: Formato de la rma en bruto o Valor: es.uji.dsign.crypto.CMSSignatureFactory Descripcin: Formato de la rma en PKCS#7/CMS o signFormat Valor: es.uji.dsign.crypto.PDFSignatureFactory Descripcin: Formato de la rma PDF o Valor: es.uji.dsign.crypto.XAdESSignatureFactory Descripcin: Formato de la rma DigiDoc (XAdES-X-L). o

Valor: es.uji.dsign.io.AppletInputNullParams Descripcin: Los datos de entrada se obtienen de la funcin o o sign(datos); signInputParams Valor: es.uji.dsign.io.AppletInputParams Descripcin: El resumen de entrada de la rma se obtiene o del parmetro signHash. a Valor: es.uji.dsign.io.URLInputParams Descripcin: Los datos de entrada para la rma se obtienen o de la URL indicada por el parmetro urlInput. a

Valor: es.uji.dsign.io.AppletOutputParams Descripcin: El resultado se pasa como argumento a la funo o a signOutputParams cin JavaScript onSignOk denida en el cuerpo de la pgina. Valor: es.uji.dsign.io.URLOutputParams Descripcin: El resultado se envia mediante POST al al o URL indicada en el parmetro urlOutput. La variable que a contiene el resultado es content.

Proyecto Clauer

CryptoApplet

4.2 Uso del formato DigiDoc Nombre urlInput Posible valor / Descripcin o Valor: Una URL vlida a Descripcin: Se tiene en cuenta slo si se indica como o o signOutputParams el valor es.uji.dsign.io.URLInputParams y ste dene la url desde la que obtener los datos. e

urlOutput

Valor: Una URL vlida a Descripcin: Se tiene en cuenta slo si se indica como sigo o nOutputParams el valor es.uji.dsign.io.URLOutputParams y ste dene la url a la que se debe hacer el POST con el resule tado. Este resultado se retorna codicado base64. Valor: El hash a rmar en hexadecimal Valor: Una URL vlida a Descripcin: Indica la direccin desde la que el applet deo o be obtener la dll MicrosoftCryptoApi 0 3.dll sino se indica se intenta obtener desde el directorio presente en el atributo codebase del tag applet.

signHash downloadUrl

progressBar

Valor: true/false Descripcin: Muestra una barra de progreso indeterminado o si esta a true.

encoding

Valor: hex Descripcin: Indica que los datos de entrada se encueno tran representados en hexadecimal como un string y deben ser descodicados antes de considerarlos para la rma. Valor: base64 Descripcin: Indica que los datos de entrada se encuentran o representados en base64 como un string y deben ser descodicados antes de considerarlos para la rma. Tabla 1: Descripcin de los parmetros o a

4.2.

Uso del formato DigiDoc

Si se utiliza el formato DigiDoc para representar la rma digital, se debe incluir en CryptoApplet.jar un chero de conguracin de este formato, el chero se compone de pares o campo=valor y stos son un subconjunto de los permitidos por las biblioteca que implee Proyecto Clauer CryptoApplet

10

4 Conguracin avanzada o

menta la funcionalidad DigiDoc 5 . A continuacin pasamos a comentar ste chero de o e conguracin6 : o

# Configuracin de las clases a utilizar. o DIGIDOC_SIGN_IMPL=ee.sk.digidoc.factory.PKCS11SignatureFactory DIGIDOC_SIGN_IMPL_PKCS11=ee.sk.digidoc.factory.PKCS11SignatureFactory DIGIDOC_NOTARY_IMPL=ee.sk.digidoc.factory.BouncyCastleNotaryFactory DIGIDOC_FACTORY_IMPL=ee.sk.digidoc.factory.SAXDigiDocFactory DIGIDOC_TIMESTAMP_IMPL=es.uji.dsign.digidoc.factory.BouncyCastleSignatureTimestampFact CANONICALIZATION_FACTORY_IMPL=ee.sk.digidoc.factory.DOMCanonicalizationFactory CRL_FACTORY_IMPL=ee.sk.digidoc.factory.CRLCheckerFactory ENCRYPTED_DATA_PARSER_IMPL=ee.sk.xmlenc.factory.EncryptedDataSAXParser ENCRYPTED_STREAM_PARSER_IMPL=ee.sk.xmlenc.factory.EncryptedStreamSAXParser # Configuracin del proveedor principal. o DIGIDOC_SECURITY_PROVIDER=org.bouncycastle.jce.provider.BouncyCastleProvider DIGIDOC_SECURITY_PROVIDER_NAME=BC # OCSP responder URL. DIGIDOC_OCSP_RESPONDER_URL=http://ocsp.pki.gva.es # Si se firma la peticin OCSP. o SIGN_OCSP_REQUESTS=false #Certificados con los cuales realizar una comprobacin preliminar o #del firmante, si para el certificado firmante no podemos encontrar #su cadena de expedicin aqu, se generar un error. o a DIGIDOC_CA_CERTS=2 DIGIDOC_CA_CERT1=jar://cagva.pem DIGIDOC_CA_CERT2=jar://rootca.pem

# Certificados del responder OCSP. DIGIDOC_OCSP_COUNT=1 DIGIDOC_OCSP1_CN=ocsp-gva DIGIDOC_OCSP1_CERT=jar://ocsp-gva_pem.crt DIGIDOC_OCSP1_CA_CERT=jar://cagva.pem DIGIDOC_OCSP1_CA_CN=CAGVA # OCSP or CRL selectors # Debemos indicar siempre OCSP DIGIDOC_CERT_VERIFIER=OCSP DIGIDOC_SIGNATURE_VERIFIER=OCSP
5 6

Vase http://openxades.org/les/JDigiDoc-2.0-eng.pdf e Esta conguracin es vlida para rma con certicados de la ACCV http://www.accv.es o a

Proyecto Clauer

CryptoApplet

4.3 Firma del applet

11

# Relativo al Timestamp DIGIDOC_TSA_COUNT=1 DIGIDOC_TSA1_CERT=jar://tsa1_accv.der DIGIDOC_TSA1_CA_CERT=jar://tsa1_accv.der DIGIDOC_TSA1_USE_NONCE=true DIGIDOC_TSA1_ASK_CERT=false DIGIDOC_TSA1_URL=http://tss.accv.es:8318/tsa DIGIDOC_TSA1_CN=TSA1 ACCV DIGIDOC_TSA1_CA_CN=Root CA Generalitat Valenciana DIGIDOC_TSA1_SN=1164131574 MAX_TSA_TIME_ERR_SECS=60 Todos los certicados que se referencian desde el chero de conguracin deben ser tamo bin incluidos en el chero jar principal. e

4.3.

Firma del applet

Para que el applet se ejecute con los privilegios necesarios para realizar las operaciones relativas a la rma, ste debe estar rmado y el cliente debe depositar su conaza en l. e e Para realizar la importacin de la clave privada con la que se rmar el applet, se recoo a mienda que se utilize el programa que se puede obtener de http://forum.java.sun.com/thread.jspa?forumID=60&tstart=30&threadID=484622&trange=15. Una vez importada la clave privada al Java KeyStore, rmar el jar con el siguiente comando: $ jarsigner -keystore ruta hasta el store -storepass password del store *.jar Alias de la clave Es conveniente que rmemos todas las bibliotecas *.jar para que el applet funcione correctamente, sin la rma, el applet no tendr sucientes privilegios y fallar en su ejecucin. a a o

4.4.

Entrada/Salida

La seleccin de la entrada/salida de datos en applet se realiza mediante parmetros, estos o a son: signInputParams y signOutputParams que se encuentran documentados en el punto anterior.

4.5.

Idiomas

En el chero jar principal del applet CryptoApplet.jar se encuentra un chero denominado i18n.properties en el que se denen las cadenas que el applet debe mostrar en los distintos puntos del proceso de rma, estas cadenas vienen determinadas en el chero como pares identicador=cadena, a continuacin indicamos a que parte del proceso corresponde cada o indicador: # Applet Window WINDOW_TITLE Proyecto Clauer

Ttulo de la ventana principal. CryptoApplet

12

4 Conguracin avanzada o

WINDOW_MESSAGE

Aviso introducir password Mozilla

# Widgets LABEL_CERTIFICATE_SELECTION LABEL_VIEW_CERTIFICATES LABEL_SIGN LABEL_PIN LABEL_PASSWORD LABEL_TREE_ROOT # Information SIGN_PROCESS_OK PROGRESS_VIEW_CERTIFICATES PROGRESS_RELOADING_CERTIFICATES PROGRESS_SIGN PROGRESS_WINDOW_TITLE

Seleccin de certificado. o Ver Certificados. Botn de firma. o Pedir pin del Clauer. Pedir password. Lista de certificados.

Firma realizada correcta. Muestra de certificados en progreso. Actualizacin lista de certificados o en progreso. Aviso realizacin de firma en progreso. o Ttulo de la ventana indicadora del progreso.

# Error ERROR_OPEN_CERTIFICATE_STORE ERROR_ACCESS_CERTIFICATE_STORE ERROR_RETRIEVE_CERTIFICATE_LIST ERROR_ACCESS_CLAUER ERROR_STORE_EMPTY ERROR_CERTIFICATE_USE ERROR_CERTIFICATE_NOT_SELECTED ERROR_COMPUTING_SIGNATURE ERROR_ACCESS_NO_STORES

No se puede acceder al almacn e de certificados. Error al acceder al almacn e de certificados. No se ha podido recuperar la lista de certificados. No se puede acceder al clauer. No existen certificados en el almacn. e Slo puedes utilizar certificados o con funciones de firma. Es obligatorio seleccionar un certificado de la lista. No se ha podido calcular la firma. No se ha encontrado ningn almacn u e de certificados vlido en tu ordenador. a

# Secciones de errores por formato de salida. # CMS Errors ERROR_CMS_NOCERT=No se pudo recuperar el certificado. ERROR_CMS_NOKEY=No se pudo recuperar la referencia a la clave privada. ERROR_CMS_SIGNATURE=No se pudo calcular la firma. # RAW Errors Proyecto Clauer CryptoApplet

13

ERR_RAW_NOKEY=No se pudo recuperar la referencia a la clave privada. ERROR_RAW_SIGNATURE=No se pudo calcular la firma. # DigiDoc Errors ERROR_DDOC_NOCERT=No se pudo recuperar el certificado. ERROR_DDOC_NOKEY=No se pudo recuperar la referencia a la clave privada. ERROR_DDOC_NODIGEST=No se pudo calcular el resumen. ERROR_DDOC_SIGNATURE=No se pudo calcular la firma. ERROR_DDOC_TSDIGEST=No se pudo calcular la marca de tiempo. ERROR_DDOC_TSATIMEOUT=la conexin expir obteniendo la marca de timepo. o o ERROR_DDOC_TSARESPONSE=Se obtuvo una marca de tiempo invlida. a ERROR_DDOC_TSACA=No se pudo obtener el certificado raz de la autoridad de certificacin. o ERROR_DDOC_CERTREVOKED=El certificado con el que intenta firmar est revocado. a ERROR_DDOC_CERTEXPIRED=El certificado con el que intenta firmar ha expirado. ERROR_DDOC_CACERTREAD=No se pudo comprobar la validez de su certificado. ERROR_DDOC_CERTGENERIC=No se pudo comprobar la validez de su certificado.

Para traducir el applet a otro idioma, basta con sustituir estas cadenas en el chero y volver a empaquetar el chreo .jar.

5.

Ejemplos de uso
Firma de datos en bruto. Ver: http://cryptoapplet.nisu.org/samples/signraw.php Firma de un hash en formato CMS para el envio de mail. Ver: http://cryptoapplet.nisu.org/samples/signmail.php Firma de datos en formato digidoc (XAdES-X-L). Ver: http://cryptoapplet.nisu.org/samples/signxades.php Firma de datos en formato PDF. Ver: http://cryptoapplet.nisu.org/samples/signpdf.php

6.

Roadmap
Firma formato pdf. El desarrollo de la clase de rma de PDF se prevee para la versin 2 del applet, a pesar de estar ya diseada, sta se encuentra en fase de o n e pruebas. Implementacin de los parmetros relativos a esta clase: o a PDFReason: Campo Reason de la rma de PDF. PDFLocation: Campo Location de la rma de PDF. PDFContact: Campo Contact de la rma de PDF.

Proyecto Clauer

CryptoApplet

14

6 Roadmap

PDFVisibleSignature: Valor true/false, indica si queremos que aparezca un rectngulo indicando la informacin sobre la rma en una pgina del PDF. a o a PDFVisibleSignaturePage: Si el valor anterior es true, indica en que pgina a debe aparecer el rectngulo, en caso contrario es ignorado. a Funcionalidad de rma por lotes. Esta caracter stica, permitir realizar varias rmas a desde una misma pgina web con una conguracin determinada por el usuario. Se a o prevee disponible para la versin 2. o Interfaz grco con progreso integrado. La indicacin del progreso de las operaciones a o se muestra en una ventana a parte, se prevee, para la versin 2, integrar sta ventana o e en la ventana principal de la aplicacin. o Integracin rma factura electrnica. En versiones posteriores, se prevee incluir una o o clase de rma capaz de generar un XML totalmente compatible con las principales aplicaciones de validacin. o Soporte para Safari en MAC. En versiones posteriores se estudiar tambin dotar a e al applet de soporte para gestionar al almacn de certicados de Safari y as poder e rmar desde l. e Versin aplicacin de escritorio del applet e integracin de validacin. Dado que o o o o las clases de bajo nivel del applet implementan toda la funcionalidad de acceso a CryptoApi, PKCS#11, etc. Se estudiar la posibilidad de crear una clase que a implemente un interfaz de escritorio de rma capaz de ofrecer la misma funcionalidad que el applet. Tambin se estudiar la posibilidad de que sta aplicacin sea capaz e a e o de validar los documentos rmados por l. e

Proyecto Clauer

CryptoApplet