Manual del integrador del MiniApplet v1.3 del

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Manual del integrador del MiniApplet v1.3 del Cliente @firma"

Transcripción

1 DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y LAS Manual del integradr del MiniApplet v1.3 del

2 Índice de cntenids 1 Intrducción Prducts de tercers incluids cn el Requisits mínims Entrn Cliente Habilitación de Applets de Java en navegadr Web (cualquier entrn perativ) Cmpatibilidad cn Windws 8 y superires Cmpatibilidad cn Apple OS X Dispsitivs móviles Entrn Servidr Funcinalidad prprcinada pr el Frmats de firma sprtads pr el CAdES (CMS Advanced Electrnic Signature) XAdES (XML Advanced Electrnic Signature) FacturaE (Factura electrónica) PAdES (PDF Advanced Electrnic Signature) ODF (Open Dcument Frmat Firmas de dcuments LibreOffice / OpenOffice.rg) OOXML (Office Open XML Firmas de dcuments Micrsft Office) Frmats de firma n sprtads pr el Us de certificads y claves privadas pr parte del Establecimient manual del almacén de certificads y claves Us exclusiv de certificads accesibles mediante PKCS#11 en Mzilla Firefx Frzar ruta del almacén de Mzilla Firefx Despliegue del Imprtación de las biblitecas JavaScript Imprtación en páginas Web generadas dinámicamente Carga del MiniApplet Cnfiguración del idima Restricción según desfase hrari cn el servidr Firma del JAR del MiniApplet

3 4.6 Despliegue en entrns de Web dinámica, servidres de aplicacines y en general servidres n estátics El prces de firma electrónica Selección del cntenid a firmar La cnversión de dats a Base Selección de cntenid desde fichers en disc Selección de bjetiv de las cntrafirmas Selección del certificad y clave privada de firma Firma Recgida de resultads Funcines dispnibles del Us del API desde JavaScript Obtención de resultads Obtención directa de resultads Obtención de resultads mediante Callbacks Firma electrónica Firmas electrónicas múltiples Cfirmas Cntrafirmas Firmas/Multifirmas trifásicas Realizar firma trifásicas cn el MiniApplet Servici de firma trifásica Firmas/Multifirmas masivas Gestión de fichers Guardad de dats en disc Selección de un ficher pr parte del usuari y recuperación de su nmbre y cntenid Selección de múltiples fichers pr parte del usuari y recuperación de sus nmbres y cntenids Utilidad Ec Obtención de ls mensajes de errr

4 6.8.3 Cnversión de una cadena Base64 a text Cnversión de un text a cadena Base Cnfiguración de las peracines Pas de parámetrs adicinales a ls métds de firma, cfirma y cntrafirma Parámetrs adicinales n sprtads Selección autmática de certificads Cnfiguración del filtr de certificads Cnfiguración de la plítica de firma Cnfiguración manual Plítica de firma de la AGE v Plítica de firma de la AGE v Plítica de firma de Factura electrónica (Facturae) Cnfiguración de parámetrs de la JVM Cnfiguración a través de prpiedades del sistema Gestión de errres Cmpatibilidad cn dispsitivs móviles y AutFirma Arquitectura del sistema Despliegues cmpatibles Servicis auxiliares del móvil Ntas sbre ls servicis de almacenaje y recuperación Ntificacines al usuari Enlaces de descarga Enlaces Andrid Enlaces ios Enlaces AutFirma Limitacines Limitacines de frmat Limitacines funcinales Cmpatibilidad del v1.3 cn aplicacines móviles y AutFirma Infrmación específica para firmas CAdES

5 10.1 Algritms de firma Firmas CAdES implícitas explícitas Parámetrs adicinales Firma y cfirma Cntrafirma Infrmación específica para firmas XAdES Tratamient de las hjas de estil XSL de ls XML a firmar Algritms de firma Algritms de huella digital para las referencias Situación del nd de firma en XAdES Envelped Us de estructuras Manifest en firmas XAdES Parámetrs adicinales Firma y cfirma Cntrafirma Firmas XAdES explícitas Infrmación específica para firma de facturas electrónicas Operacines n sprtadas y ntas de interés Algritms de firma Parámetrs adicinales Infrmación específica para firmas PAdES Creación de una firma visible Inserción de una imagen en un dcument PDF antes de ser firmad Operacines n sprtadas y ntas de interés Firma de dcuments PDF cifrads prtegids cn cntraseña Algritms de firma Parámetrs adicinales Prblemas cncids Us de cierts algritms cn Windws XP Ggle Chrme n ejecuta ni el MiniApplet ni ningún tr Applet de Java a pesar de tener crrectamente instalad el JRE Micrsft Windws

6 Apple OS X y Linux Diálgs de advertencia al usuari en Java 7u55 y psterires (incluyend Java 8) Errr el cnjunt de claves n existe al firmar cn el almacén de claves de Windws Cn el navegadr Mzilla Firefx y DNIe (DNI Electrónic) el Applet se queda blquead y n muestra el diálg de selección de certificads, desblqueándse si retir el DNIe del lectr N se detecta la inserción/extracción del DNIe en el lectr (u tra tarjeta inteligente) El Applet n detecta ningún certificad baj Mzilla / Firefx El MiniApplet n permite la firma de PDF cn cierts certificads El servici de firma trifásica genera un errr al realizar firmas XAdES en servidres JBss u trs Despliegue del servici de firma trifásica sbre JBss

7 1 Intrducción El MiniApplet (también referid en este manual cm MiniApplet simplemente Cliente ) es una herramienta de firma electrónica que funcina en frma de Applet de Java integrad en una página Web mediante JavaScript. El MiniApplet hace us de ls certificads digitales X.509v3 y de las claves privadas asciadas a ests que estén instalads en el repsitri almacén de claves y certificads (KeyStre) del sistema perativ del navegadr Web (Internet Explrer, Mzilla Firefx, etc.), así cm de ls que estén en dispsitivs (tarjetas inteligentes, dispsitivs USB) cnfigurads en el mism (cm pr ejempl, el DNI Electrónic DNIe). El Cliente de Firma, cm su nmbre indica, es una aplicación que se ejecuta en cliente (en el rdenadr del usuari, n en el servidr Web). Est es así para evitar que la clave privada asciada a un certificad tenga que salir del cntenedr del usuari (tarjeta, dispsitiv USB navegadr) ubicad en su PC. De hech, nunca llega a salir del navegadr, el MiniApplet le envía ls dats a firmar y éste ls devuelve firmads. El MiniApplet n almacena ningún tip de infrmación persnal del usuari, ni hace us de ckies ni ningún tr mecanism para la gestión de dats de sesión. El MiniApplet sí almacena el lg de su última ejecución a efects de frecer sprte al usuari si se encntrase algún errr durante la ejecución del Applet. Sól se almacena el lg de la última ejecución del MiniApplet, este n cntiene ningún tip de infrmación persnal y el integradr n tiene acces al mism. Es el usuari quien debe remitirl. El MiniApplet es Sftware Libre publicad que se puede usar, a su elección, baj licencia GNU General Public License versión 2 (GPLv2) superir baj licencia Eurpean Sftware License 1.1 (EUPL 1.1) superir. Puede cnsultar la infrmación relativa al pryect dentr del cual se encuentra el MiniApplet y descargar el códig fuente de la aplicación en la siguiente dirección Web: Tant ls binaris cm ls fichers fuente empaquetads pueden descargarse desde: 1.1 Prducts de tercers incluids cn el El incluye, entre trs, ls siguientes prducts de tercers: JXAdES (https://github.cm/universitatjaumei/jxades) BuncyCastle (http://www.buncycastle.rg/) 7

8 Códig derivad de itext v2.1.7 (http://itextpdf.cm/) Códig derivad de Apache ORO (http://jakarta.apache.rg/r/) Códig derivad de Java Mime Magic Library (http://jmimemagic.surcefrge.net/) Códig derivad de JUniversalCharDet (https://cde.ggle.cm/p/juniversalchardet/) Códig derivad de OpenJDK (http://penjdk.java.net/) 8

9 2 Requisits mínims 2.1 Entrn Cliente Entrn de ejecución de Java: Java SE 6 Update 38 (1.6.0_38) superir, en 32 bits (x86). Se recmienda adptar Java 8 si n fuese psible usar al mens Java 6u45 7u76. En Apple OS X n se sprta (pr bslescencia) la versión 6 del JRE de Apple, siend necesari usar las versines 7 u 8 del JRE de Oracle. Java SE 7 Update 10 (1.7.0_10) superir. Se recmienda adptar Java 8 si n fuese psible usar al mens Java 7u76. En 32 (x86) 64 (x64/amd64) bits según la arquitectura del navegadr Web. En Internet Explrer se recmienda siempre usar versines de 32 bits. Java SE 8 Se recmienda usar al mens la versión 8u51. En 32 (x86) 64 (x64/amd64) bits según la arquitectura del navegadr Web. En Internet Explrer se recmienda siempre usar versines de 32 bits. Sistema perativ: Windws XP SP3, Vista SP2, 7 SP1, 8 superir, en 32 (x86) 64 (x64) bits. Se recmienda abandnar Windws XP en favr de Windws 7 superir. Windws Server 2003 R2 SP2 superir, en 32 (x86) 64 (x64) bits. Linux 2.6 superir (sprte prestad para Ubuntu y Guadalinex), en 32 (x86) 64 (x64/amd64) bits. Se recmienda al mens un Linux basad en la versión 3 superir del núcle (Linux Kernel). Apple OS X Mavericks ( superir) Ysemite (10.10). Navegadr Web: Mzilla Firefx 4.0 superir En Windws únicamente se sprta Firefx en 32 bits. Ggle Chrme versines de la 15 a la 41. A partir de, Chrme 41, es necesari tener previamente instalad el prgrama AutFirma en el sistema del usuari. Apple Safari 6.2 superir (sprte prestad únicamente para la versión OS X). Micrsft Internet Explrer 8 superir (se recmienda usar siempre versines de 32 bits). Nta para usuaris de Firefx 9 superir y Windws XP Windws Server 2003: La carga del almacén de claves y certificads de Firefx 9 superir pr parte del necesita que el sistema tenga instalad ls entrns de ejecución redistribuibles de Micrsft Visual C++ 9

10 2005 y Si n cnsigue acceder a sus certificads y claves privadas desde el necesitará descargarls e instalarls manualmente. Ests pueden descargarse de: Visual Studi 2013 (una vez en el enlace, seleccine el idima y la arquitectura adecuada para su Sistema perativ). https://www.micrsft.cm/en-us/dwnlad/details.aspx?id=40784 Visual Studi 2005 Windws XP y Windws Server 2003 en arquitectura x86: Windws XP y Windws Server 2003 en arquitectura x64: El prces de instalación puede requerir permiss de administradr Habilitación de Applets de Java en navegadr Web (cualquier entrn perativ) En cualquier entrn perativ actual, y debid a ls riesgs de seguridad que ell implica, es necesari habilitar ls Applets de Java en ls navegadres Web. Para ell, es necesari seguir un prces que es diferente según el navegadr Web, y que puede variar según el sistema perativ. Cnsulte la dcumentación del navegadr Web para btener instruccines sbre cóm habilitar ls Applets de Java, y siga atentamente las indicacines de Oracle para este prces, que puede encntrar en: Cmpatibilidad cn Windws 8 y superires El n es cmpatible cn Internet Explrer 10 y superires en su versión Metr, y debe ser ejecutad cn la versión de escritri de Internet Explrer. Para autmatizar en cierta manera el cambi de Internet Explrer desde Metr hasta el escritri clásic de Windws 8 se debe incluir la siguiente meta-infrmación en la cabecera de la página HTML: <meta http-equiv="x-ua-cmpatible" cntent="requiresactivex=true"/> Puede encntrar más infrmación sbre cmplements de navegadr (plugins) en Internet Explrer sbre Metr en Windws 8 en: 10

11 2.1.3 Cmpatibilidad cn Apple OS X Ls Applets de Java en OS X cn Safari tienen restringid pr defect el acces al sistema de fichers, l cual puede causar cierta cnfusión cn el MiniApplet en OS X, prque da la impresión de funcinar aprpiadamente, per cuand se slicita abrir guardar un ficher, n es psible. En particular, l que el usuari aprecia al intentar abrir un ficher es que el diálg de selección se abre, per n muestra ningún archiv: Para cnseguir que el MiniApplet tenga acces n restringid al sistema de fichers del usuari es necesari que este cnfigure Safari para habilitar el Md Insegur para el siti Web en cncret que publique el MiniApplet. Para ell, siga las indicacines de Apple, que puede encntrar aquí: 11

12 2.2 Dispsitivs móviles Ls Applets Java, cm el, n puede ejecutarse desde dispsitivs Ggle Andrid Apple ios; sin embarg, el crrect despliegue del MiniApplet hará que sus aplicacines puedan ejecutar las peracines de firma utilizand las aplicacines nativas del pryect para ests sistemas en lugar del MiniApplet. Cnsulte el apartad Cmpatibilidad cn dispsitivs móviles para saber más. 2.3 Entrn Servidr Servidr de aplicacines JEE cmpatible cn Servlets de Java. Apache Tmcat, Oracle GlassFish, RedHat JBss, IBM WebSphere, Oracle Applicatin Server, etc. JRE 1.6 superir (recmendada última versión dispnible de Java 7) cn JEE 5 cm mínim. Es psible realizar un despliegue del en un sistema servidr que cuente únicamente cn un servidr Web (cm Apache Web Server) cn un servidr de aplicacines n cmpatible cn JEE (cm Micrsft Internet Infrmatin Server, IIS). 12

13 3 Funcinalidad prprcinada pr el El prprcina únicamente funcinalidades de firma electrónica (incluyend firmas múltiples) sbre un cnjunt select de frmats de firma, per n tras funcinalidades cm sbres digitales cifrads simétrics. Adicinalmente, se prprcina un cnjunt reducid de métds de utilidad y pcines de peración. Si necesita un frmat de firma n sprtad pr el MiniApplet una funcinalidad n sprtada pr este, cnsulte el catálg de para determinar cuál es la más aprpiada para sus necesidades. 3.1 Frmats de firma sprtads pr el CAdES (CMS Advanced Electrnic Signature) Frmat avanzad de firma binaria. Se sprtan las siguientes variantes de CAdES: CAdES-BES CAdES-EPES En cualquier cas, es psible siempre incluir el cntenid firmad en la prpia firma (firma implícita) excluirl (firma explícita). Pr defect, n se incluyen en la firma ni ls dats firmads, ni plítica de firma alguna. Es decir, cuand n se intrduce ninguna cnfiguración, se generan firmas CAdES- BES explícitas. Cnsulte el apartad Infrmación específica para firmas CAdES para más infrmación sbre la cnfiguración de las firmas CAdES XAdES (XML Advanced Electrnic Signature) Se sprtan las siguientes variantes de XAdES: XAdES-BES XAdES-EPES Cn independencia de la variante, es psible realizar las firmas XAdES en tres diferentes mds: Envelping Envelped Internally Detached Cnsulte el apartad Infrmación específica para firmas XAdES para más infrmación sbre ls mds de firma XAdES y trs cndicinantes de us. Pr defect, cuand n se indican parámetrs de cnfiguración adicinales, el MiniApplet genera firmas XAdES-BES Envelping. 13

14 3.1.3 FacturaE (Factura electrónica) Frmat para la firma de facturas electrónicas cnfrme a la especificación 3.1 del estándar. Al cnfigurar este frmat se establecen tdas sus prpiedades bligatrias, cm la plítica de firma, pr l que n deberán establecerse manualmente. El frmat de factura electrónica sl puede utilizarse sbre facturas electrónicas y sbre ellas sól es psible realizar la peración de firma. N permite cfirmarlas ni cntrafirmarlas. Cnsulte el apartad Infrmación específica para firma de facturas electrónicas para más infrmación sbre las pcines de cnfiguración de las facturas electrónicas PAdES (PDF Advanced Electrnic Signature) Frmat de firma avanzada de dcuments PDF. Se sprtan las siguientes variantes de PAdES: PAdES-Básic (pr defect) PAdES-BES Una salvedad en la realización de firmas PAdES cn respect al estándar, es que n se sprta la firma de fichers adjunts emptrads en ls dcuments PDF. Cnsulte el apartad Infrmación específica para firmas PAdES para más infrmación sbre ls mds de firma PAdES y trs cndicinantes de us. Pr defect, el MiniApplet genera firmas PAdES-Básic a mens que se indique una plítica de firma AGE 1.9 superir (en cuy cas, pr adecuación, se para a generar PAdES-BES) se indique explícitamente mediante un parámetr adicinal que se desea usar PAdES-BES ODF (Open Dcument Frmat Firmas de dcuments LibreOffice / OpenOffice.rg) El MiniApplet es capaz de realizar firmas ODF, de frma acrde a la siguiente tabla de cmpatibilidad: Impress (Presentacines) OpenOffice.rg 3.2 / 3.3 Calc (Hjas de Writer (Texts) Cálcul) Es imprtante reseñar que las firmas ODF n sn acrdes al Esquema Nacinal de Interperabilidad (ENI) OOXML (Office Open XML Firmas de dcuments Micrsft Office) Es psible firmar dcuments OOXML en frmats recncids pr Micrsft Office. El sprte de las firmas realizadas cn el MiniApplet en cuant a versines y prgramas de Micrsft Office es la siguiente: 14

15 Office 2007 Office 2008 Office 2010 Office 2011 Office 2012 Wrd (dcx) NO N/A SÍ N/A SÍ Excel (xlsx) NO N/A SÍ N/A SÍ PwerPint (pptx) NO N/A SÍ N/A SÍ Prject NO NO NO NO NO OneNte NO NO NO NO NO Visi NO NA NO NO NO XPS NO NO NO NO NO SÍ = Cmpatible, NO = N cmpatible, N/A = N aplica (estas versines de Office para OS X n permiten mstrar cmprbar las firmas OOXML). Es imprtante reseñar que las firmas ODF n sn acrdes al Esquema Nacinal de Interperabilidad (ENI) Versines de Java cmpatibles cn las firmas OOXML Pr errres cncids de la máquina virtual de Java en su versión 6, únicamente es psible realizar este tip de firmas cn Java 7 y superires, recmendándse el us de Java 8u45 cm mínim. 3.2 Frmats de firma n sprtads pr el El n sprta la realización de firmas en frmat CMS/PKCS#7, el frmat XMLDSig (XML Digital Signature), ni ningún tr frmat n nmbrad explícitamente en este manual. Se recmienda sustituir las firmas CMS pr firmas CAdES, ya que este últim prprcina cmpatibilidad hacia atrás cn CMS. Se recmienda sustituir las firmas XMLDSig pr firmas XAdES, ya que este últim prprcina cmpatibilidad hacia atrás cn XMLDSig. Si necesita utilizar firmas CMS XMLDSig de un md en el que el us de sus hmólgs AdES (Advanced Digital Signature) n es psible, puede utilizar el Applet cmplet Más infrmación en 3.3 Us de certificads y claves privadas pr parte del El utiliza un mecanism autmátic para determinar cuál será el almacén de certificads y claves que debe usar en cada cas. La nrma general sigue este simple algritm: 1. Si el navegadr Web es Mzilla Firefx, cn independencia del sistema perativ, se usa el almacén prpi de Mzilla Firefx (NSS, Netscape Security Services) más ls móduls PKCS#11 (Public Key Cryptgraphy Specificatin number 11) que Firefx tuviese 15

16 cnfigurads, cm tarjetas inteligentes, DNIe (Dcument Nacinal de Identidad electrónic), HSM (Hardware Security Mdule), etc. 2. Si el navegadr es cualquier tr (Internet Explrer, Opera, Chrme Safari), se usa el almacén predeterminad del sistema perativ: a. Windws: CAPI (Cryptgraphy Applicatin Prgramming Interface) b. Mac OS X: Llaver de Mac OS X c. Linux: NSS Adicinalmente, es psible frzar al MiniApplet para que ignre estas reglas y utilizar un almacén fij. En este cas, ls almacenes sprtads sn: PKCS#12 (Public Key Cryptgraphy Specificatin number 12) / PFX (Persnal File Exchange). CAPI (únicamente en sistemas Windws). Llaver de Mac OS X, tant el cmún del sistema cm un llaver independiente en ficher (únicamente en sistemas Mac OS X). NSS (requiere que esté instalad Mzilla Firefx). PKCS11 (Public Key Cryptgraphy Specificatin number 11). Cn independencia del almacén que use el MiniApplet el navegadr puede cmbinar el us de uns u trs almacenes para tareas relacinadas cn las cnexines SSL, aspect que n influye en estas reglas de selección. Así, pr ejempl Mzilla Firefx hará us del almacén NSS para las cnexines de Red, per utilizará el de Java a la hra de cargar Applets desde sitis Web cn SSL Establecimient manual del almacén de certificads y claves Es psible para el integradr seleccinar manualmente el almacén de certificads de usuari que se debe utilizar, independientemente del sistema perativ el navegadr que utilice el usuari. Sin embarg, hay que tener en cuenta que si se seleccina un almacén n dispnible en el entrn del usuari, el MiniApplet dará errr al intentar recuperar ls certificads del almacén. La selección manual del almacén de claves se realiza durante la carga del MiniApplet y se mantiene durante tda su ejecución. Una vez cargad, n es psible cambiar de almacén de certificads. Para frzar el us de un almacén de certificads cncret pasarems cm segund parámetr del métd de carga (cargarminiapplet(cdebase, keystre), cnsulte la sección de despliegue del MiniApplet para mayr infrmación sbre este métd ) el tip de almacén que se desea utilizar. El tip se indicará mediante las variables JavaScript dedicadas a tal fin (declaradas en la bibliteca miniapplet.js, dentr del bjet MiniApplet, que debe estar imprtada en las páginas Web en cualquier cas). Estas variables sn: KEYSTORE_WINDOWS Almacén de certificads CAPI. Cmpatible únicamente cn sistemas Micrsft Windws. 16

17 KEYSTORE_APPLE Llaver de Mac OS X. Cmpatible únicamente cn sistemas Apple Mac OS X. KEYSTORE_FIREFOX Almacén NSS (Mzilla Firefx, Mzilla Thunderbird, etc.). KEYSTORE_PKCS12 Almacén en ficher PKCS#12 / PFX (Persnal File Exchange). KEYSTORE_JAVA Almacén en ficher JKS (Java KeyStre). KEYSTORE_JCEKS Almacén en ficher JCEKS (Java Cryptgraphy Extensin KeyStre). KEYSTORE_JAVACE Almacén en ficher de tip CaseExactJKS (Case Exact Java KeyStre). KEYSTORE_PKCS11 Almacén de claves cmpatible PKCS#11 (tarjeta inteligentes, aceleradra criptgráfica). Determinads tips de almacén permiten indicar el ficher bibliteca en disc asciad al almacén. Este ficher bibliteca debe indicarse mediante su ruta absluta en el sistema del usuari, cm parte del mism parámetr, a cntinuación del tip de almacén y separads pr sign ds punts ( : ), siguiend el patrón: TIPO_ALMACEN:RUTA_ALMACEN Ls almacenes que permiten indicar el ficher bibliteca que se debe utilizar sn: KEYSTORE_APPLE Permite indicar el llaver en ficher de tip llaver en el que se encuentran ls certificads de firma. Si n se indica ningún ficher se usa el llaver general del sistema. KEYSTORE_PKCS12 Permite indicar el almacén en ficher de tip PKCS#12/PFX (nrmalmente cn extensines.p12.pfx) en el que se encuentran ls certificads de firma. Si n se indica ningún ficher el MiniApplet slicitará al usuari que seleccine un mediante un diálg gráfic. KEYSTORE_PKCS11 Permite indicar la bibliteca que se debe utilizar para acceder al dispsitiv que almacena ls certificads de firma. Si n se indica ningún ficher el MiniApplet slicitará al usuari que seleccine un mediante un diálg gráfic. Es imprtante reseñar que la bibliteca PKCS#11 es dependiente del sistema perativ y de su arquitectura, pr l que si se indica, pr ejempl, una bibliteca PKCS#11 cm una DLL (Dynamic Link Library) de 32 bits, n funcinará ni en Linux 17

18 ni en Mac OS X, per tampc en Windws 64 bits si se usa el MiniApplet desde un navegadr de 64 bits. A cntinuación se listan alguns ejempls de parámetr que se pueden pasar al métd: MiniApplet.KEYSTORE_WINDOWS Cnfigura CAPI (almacén general de claves y certificads de Windws) MiniApplet.KEYSTORE_APPLE Cnfigura el llaver de Mac OS X del sistema MiniApplet.KEYSTORE_APPLE + :/Users/usuari/Library/Keychains/lgin.keychain Cnfigura el llaver /Users/usuari/Library/Keychains/lgin.keychain MiniApplet.KEYSTORE_PKCS12 Cnfigura un almacén PKCS#12 que se slicitará al usuari mediante un diálg gráfic de selección. MiniApplet.KEYSTORE_PKCS12 + :C:\\prueba\\almacen.p12 Cnfigura el almacén PKCS#12 C:\\prueba\\almacen.p12 Así, para cargar el aplicativ MiniApplet indicand manualmente el almacén de certificads que se desea utilizar, utilizaríams sentencias JavaScript del tip: MiniApplet.cargarMiniApplet(cdeBase, MiniApplet.KEYSTORE_WINDOWS); MiniApplet.cargarMiniApplet(cdeBase, MiniApplet.KEYSTORE_FIREFOX); MiniApplet.cargarMiniApplet(cdeBase, MiniApplet.KEYSTORE_PKCS12 + :C:\\prueba\\almacen.p12 ); MiniApplet.cargarMiniApplet(cdeBase, MiniApplet.KEYSTORE_PKCS11 + :C:\\Windws\\System32\\PkcsV2GK.dll ); Tenga en cuenta que n tds ls almacenes de certificads están dispnibles en tds ls sistemas. Así pues: CAPI sól está dispnible en sistemas Micrsft Windws. El llaver de Mac OS X sól está dispnible en sistemas Apple Mac OS X. NSS sól está dispnible cuand un prduct Mzilla cmpatible, cm Mzilla Firefx Mzilla ThunderBird, está instalad en el sistema y es de la misma arquitectura (x86, x64, IA64, etc.) que el navegadr que utilice el usuari para acceder al MiniApplet. Si en un almacén se indica un ficher bibliteca asciad, sól estará dispnible si este ficher bibliteca puede encntrarse en la ruta indicada y el usuari dispne de permiss de lectura y ejecución sbre él. Un almacén PKCS#11 cncret sól estará dispnible si el ficher bibliteca puede encntrarse en la ruta indicada, el usuari dispne de permiss de lectura y ejecución sbre él y además es para el mism sistema perativ y arquitectura que la del navegadr que utilice el usuari para acceder al MiniApplet. 18

19 ADVERTENCIA: La aplicación AutFirma ignra la cnfiguración del almacén de certificads cnfigurad y el navegadr web utilizad. Siempre utiliza el almacén de certificads del sistema. Para saber más de AutFirma y su despliegue, cnsulte el apartad 9 Cmpatibilidad cn dispsitivs móviles y AutFirma Us exclusiv de certificads accesibles mediante PKCS#11 en Mzilla Firefx Estableciend a true la prpiedad del sistema es.gb.afirma.keystres.mzilla.ladsscdonly (debe hacerse antes de la carga del MiniApplet) se activa un md especial de funcinamient que prvca que se ignren ls certificads y claves del almacén central de certificads de Mzilla Firefx (NSS) y se usen exclusivamente ls accesibles mediante móduls de seguridad PKCS#11 adicinales. Esta funcinalidad puede resultar útil para frzar el us de tarjetas inteligentes dispsitivs de almacén USB y descartar ls certificads aljads en el almacén sftware del navegadr. Cnsulte el apartad Cnfiguración a través de prpiedades del sistema para saber cóm establecer prpiedades de sistema Frzar ruta del almacén de Mzilla Firefx El MiniApplet detecta de frma autmática dónde está instalad el navegadr Mzilla Firefx y, de esta frma, cóm acceder al su almacén de certificads y cuál es el almacén crrespndiente al usuari actual, si hubiese varis usuaris definids dentr de la misma cuenta del sistema perativ. Si n se encntrase ningún activ el perfil de ningún usuari de entre ls definids, se cargaría el perfil pr defect. Existen casines muy cncretas en las que n es psible detectar dónde está instalad el navegadr cm, pr ejempl, si se utiliza un navegadr Firefx mdificad (cm una edición Prtable) si se intenta acceder al almacén de una cuenta cncreta de Firefx sin usar el prpi navegadr. En ests cass, el integradr pdrá usar las siguientes prpiedades del sistema para lcalizar ls recurss necesaris para indicar al MiniApplet dnde encntrarl: es.gb.afirma.keystres.mzilla.useenvirnmentvariables Establezca esta variable a true para indicar que deben leerse alguna de las ds variables que se describen a cntinuación. AFIRMA_NSS_HOME Directri cn las biblitecas NSS cmpatibles cn la versión de a la que pertenezca el almacén al que deseams acceder. AFIRMA_PROFILES_INI Ruta cmpleta (incluyend el nmbre de archiv) hacia el ficher prfiles.ini que cntiene la infrmación de perfiles de usuari de Firefx. Pr ejempl: AFIRMA_PROFILES_INI=c:\Tmas\prfiles.ini 19

20 Si el ficher referenciad en esta variable de entrn n existe n se tienen permiss de lectura sbre él, se ignra, pasándse entnces a usar el ficher de perfiles pr defect de Firefx. Si un integradr desease desde un sistema integrad acceder a un almacén de una cuenta cncreta de Firefx, deberá cnfigurar estas variables de entrn. Cnsulte el apartad Cnfiguración a través de prpiedades del sistema para saber cóm establecer prpiedades de sistema Aclaracines sbre la cnfiguración de perfiles de Mzilla Firefx La funcinalidad descrita anterirmente debe aplicarse únicamente cuand se está segur de la lcalización de ls directris de Mzilla Firefx y esta n es la nrmal para ells, l cual se suele dar únicamente en despliegues interns muy cntrlads de versines alteradas de Mzilla Firefx, cm las versines que se denminan Prtables. El ficher de cnfiguración prfiles.ini de Firefx cntiene infrmación sbre ls perfiles de usuari instalads en un entrn de ejecución cncret de Firefx. Un ejempl de este ficher pdría ser el siguiente: [General] StartWithLastPrfile=1 [Prfile0] Name=default IsRelative=1 Path=Prfiles/ir5ad1g.default Default=1 [Prfile1] Name=default IsRelative=1 Path=Prfiles/ir5ad1g.default [Prfile2] Name=default IsRelative=1 20

21 Path=Prfiles/ir5ad1g.default En este ficher se puede bservar que hay cnfigurads tres perfiles de usuari, siend el perfil pr defect el primer (el númer cer). N bstante, el que esté declarad cm pr defect únicamente quiere decir que este será el usad en Firefx si el usuari n indica l cntrari. Dad que el MiniApplet se inicia estand ya un perfil activ (puest que se inicia desde un Firefx cuand ya hay un perfil cargad), es el estad de activ n activ el factr que se usa para seleccinar el perfil a usar. Un perfil se cnsidera activ cuand su directri (que en este ejempl, y para el primer perfil sería Prfiles/ir5ad1g.default ) cntiene un ficher llamad parent.lck lck. Adicinalmente, es imprtante recalcar que en una exprtación cpia de perfiles (tant si se hace de frma manual cm si se usan las herramientas para tal fin de Firefx) pueden quedarse varis perfiles cm activs simultáneamente (varis perfiles cntendrán un ficher llamad parent.lck lck, aunque sl debería cntenerl un entre tds ls perfiles). En ests cass, el MiniApplet seleccinará el primer perfil activ que encuentre (siguiend el rden establecid en prfiles.ini), y si se desea alterar este cmprtamient será necesari subsanar el prblema eliminand tds ls fichers parent.lck lck de tds ls directris de perfil estand Firefx detenid. 4 Despliegue del Para el us del MiniApplet sn necesaris 2 fichers principalmente: miniapplet-full_x.jar Es el archiv Java en el que se encuentra el applet y tda la funcinalidad de la aplicación. X es el númer de versión del applet. miniapplet.js Es la bibliteca JavaScript que permite la integración y us del en una página Web. Para el despliegue del MiniApplet debe publicar ests fichers en su servidr Web. Una vez desplegads bastará cn imprtar las biblitecas JavaScript en su página web y cargar el applet. 4.1 Imprtación de las biblitecas JavaScript Para pder integrar el MiniApplet en su página Web debe imprtar en ella la bibliteca JavaScript de despliegue: miniapplet.js 21

22 Su situación depende de la dirección de publicación de su servidr. Puede hacer referencia a ella mediante una URL absluta mediante una URL relativa a partir de la dirección de publicación de su página Web. Una vez determinada la URL de cada una de las biblitecas, las páginas Web que hagan us del deben imprtarlas de frma glbal a tda la página, pr ejempl, incluyend las sentencias JavaScript de imprtación de biblitecas en la sección head del HTML, tal y cm se muestra en el siguiente ejempl: <head> <script type="text/javascript" src="http://miweb.cm/afirma/miniapplet.js"> </script> En este ejempl se han usad las siguientes direccines para cada una de las biblitecas JavaScript: miniapplet.js: Si la página Web en la que deseams cargar el MiniApplet estuviese también en la ruta se pdría hacer referencia a la bibliteca miniapplet.js de frma relativa indicand: <script type="text/javascript" src="miniapplet.js"></script> Cualquier página Web cn esta bibliteca JavaScript imprtada está lista para cargar el e incrprar la lógica de negci (JavaScript) asciada a su us. Las peracines que se desean realizar cn el MiniApplet se ejecutarán a partir del bjet MiniApplet definid en miniapplet.js. Pr ejempl: MiniApplet.sign(); Imprtación en páginas Web generadas dinámicamente En un sistema Web actual, l habitual es que las páginas Web n residan pre-cnstruidas en directris Web, sin que estas se generen dinámicamente ( al vuel ) mediante alguna de las muchas tecnlgías dispnibles de aplicacines Web (JSP, ASP, PHP, etc.). En ests cass es necesari tener en cuenta que debe indicarse la lcalización de la bibliteca JavaScript de despliegue mediante una URL absluta. 22

23 <script type="text/javascript" src="http://miweb.cm/afirma/miniapplet.js"> </script> 4.2 Carga del MiniApplet Una vez tenems el MiniApplet desplegad y las biblitecas JavaScript imprtadas en la página Web, la carga del MiniApplet se puede realizar mediante una simple sentencia JavaScript: cargarminiapplet(cdebase, keystre) Este métd recibe ds parámetrs: cdebase Debe indicarse la URL de despliegue de la aplicación JEE keystre (pcinal) Establece el almacén de claves y certificads alternativ indicand su tip y su ficher asciad si l hubiese. Cnsulte cn la sección Establecimient manual del almacén de certificads y claves para más infrmación sbre su frmat y us. La invcación JavaScript a este métd debe realizarse a través del bjet MiniApplet y atendiend a las siguientes bservacines: Cierts diálgs gráfics (selección de fichers, mensajes, etc.) se mstrarán en pantalla centrads respect a la situación en pantalla de la prpia sentencia JavaScript de carga, pr l que puede ser interesante el us de técnicas HTML y JavaScript para asegurar que la sentencia de carga queda centrada respect a la parte visible en el navegadr de la página HTML, y así garantizar una mejr experiencia de usuari. Desde el mment de la invcación hasta la cmpleta carga del MiniApplet pueden pasar uns segunds, y dependiend del equip del usuari y su cnexión de red, hasta más de un minut. Intente que la llamada a la sentencia de carga se realice de frma temprana respect a la carga del rest de cmpnentes de la página para evitar prblemas de invcacines e innecesarias esperas para ls usuaris. A cntinuación se muestran diferentes ejempls de carga del : Carga el MiniApplet desplegad en la dirección <script type="text/javascript"> MiniApplet.cargarMiniApplet( ); </script> Carga el MiniApplet desde una función JavaScript desplegad en la dirección 23

24 functin cargar() { MiniApplet.cargarMiniApplet( ); } Carga el MiniApplet desplegad en la dirección per usand siempre el llaver de Mac OS X cm almacén de claves y certificads. <script type="text/javascript"> MiniApplet.cargarMiniApplet( KEYSTORE_APPLE); </script> Carga el MiniApplet desplegad en la dirección per usand siempre el ficher c:\stre.pfx (tip PKCS#12 / PFX) cm almacén de claves y certificads. El MiniApplet slicitará psterirmente la cntraseña de este almacén al usuari mediante un diálg gráfic. <script type="text/javascript"> MiniApplet.cargarMiniApplet( KEYSTORE_PKCS12 + :C:\\stre.pfx ); </script> 4.3 Cnfiguración del idima El MiniApplet detecta el idima del sistema del usuari, de tal frma que si se dispne de ls texts traducids a ese idima, ls mstrará traducids a ls usuaris en ls distints diálgs gráfics. Sin embarg, es psible frzar que se utilice un idima cncret de ls que dispne. El idima se puede cnfigurar mediante el métd JavaScript: setlcale(lcale) Este métd debe invcarse a través del bjet MiniApplet y recibe cm parámetr: cdebase Códig del idima que se desea establecer según la ISO 639. Este métd deberá invcarse siempre antes del métd de carga del MiniApplet y del métd checktime, en cas de usarse. Pr ejempl: Cnfiguración del idima galleg: <script type="text/javascript"> MiniApplet.setLcale( gl_es ); MiniApplet.cargarMiniApplet( ); </script> 24

25 Si n se dispne de ls texts del MiniApplet traducids al idima cnfigurad, se usarán ls texts del idima pr defect (Españl). Actualmente, el MiniApplet dispne de ls texts traducids en ls siguientes idimas: Españl/Castellan (es_es) (Idima pr defect) Galleg (gl_es) Ls siguientes métds JavaScript permiten al integradr establecer explícitamente mensajes y texts que aparecerán al usuari en ls distints diálgs gráfics del applet. Es respnsabilidad suya establecer ests texts en el idima que crrespnda en el mment de invcar a ests métds: savedatatfile (datab64, title, filename, extensin, descriptin) getfilenamecntentbase64 (title, extensins, descriptin, filepath) getmultifilenamecntentbase64 (title, extensins, descriptin, filepath) Cnsulte la dcumentación de ests métds para cncer la descripción de cada un de ls parámetrs cnfigurables. 4.4 Restricción según desfase hrari cn el servidr Al realizar una firma en el equip del usuari, esta registra el mment de la firma (signingtime) usand la hra del prpi equip. En cas de que la hra y/ fecha del equip se encuentre mal cnfigurada, es psible que una validación psterir de la firma prvque errres, sbre td si se trabaja también cn sells de tiemp. El MiniApplet n puede mdificar la hra del sistema del usuari, per si puede advertirle de esta situación para que la crrija, inclus blquear la carga. Para hacer esta cmprbación se puede utilizar el métd JavaScript: checktime(checktype, maxmillis) Este métd debe invcarse a través del bjet MiniApplet y recibe cm parámetrs: checktype maxmillis Tip de verificación que se desea realizar. Admite ls valres: MiniApplet.CHECKTIME_NO: N realiza ningún tip de cmprbación. MiniApplet.CHECKTIME_RECOMMENDED: Realiza la cmprbación hraria y, en cas de encntrar un desfase, pedirá al usuari que l crrija antes de cntinuar. MiniApplet.CHECKTIME_OBLIGATORY: Realiza la cmprbación hraria y, en cas de encntrar un desfase, blqueará la carga del Applet y pedirá al usuari que l crrija. 25

26 Milisegunds máxims que se permiten de desfase. Se recmienda que se indique un perid mínim de 1 minut ( milisegunds) para facilitar la crrección de la hra en el equip del usuari. 4.5 Firma del JAR del MiniApplet Para la crrecta ejecución de la aplicación es necesari que el JAR del Applet publicad esté crrectamente firmad. El Ministeri de Hacienda y Administracines Públicas (MINHAP) distribuye baj acuerd versines firmadas (pr el prpi MINHAP) de cada un de ests fichers, per en cas de n dispner de estas versines firmadas si ha necesitad realizar alguna mdificación en el MiniApplet y empaquetar su prpia versión, deberá firmar usted mism el archiv JAR del MiniApplet. Para la firma del ficher JAR se recmienda el us de la herramienta Oracle JAR Signing and Verificatin Tl (jarsigner) según las instruccines descritas en la siguiente página Web: Puede btener esta herramienta de frma gratuita junt al Oracle Java Develpment Kit (JDK): Es preferible en cualquier cas utilizar certificads apts para firma de aplicacines que estén recncids pr Oracle cm de cnfianza. 26

27 4.6 Despliegue en entrns de Web dinámica, servidres de aplicacines y en general servidres n estátics El MiniApplet necesita que tds sus recurss (JAR de Java, fichers JavaScript y página HTML de despliegue) se encuentren en el mism directri (misma ruta Web). Cuand se despliega este en servidres Web n estátics (cm un servidr de Prtlets, un servidr de páginas activas de Micrsft, etc.), es respnsabilidad del integradr hacer que ls recurss puedan ser referenciads tal y cm si estuviesen en un servidr estátic bien mdificar tant HTML cm JavaScript para intrducir referencias abslutas dnde pudiese ser necesari. Cm nrma general, n se prprcina sprte técnic para prblemas de despliegue en entrns Web cn servidres n estátics, cm pueden ser: Servidres de aplicacines usand páginas dinámicas (JSP, JSF, ASP, etc.). Mapes virtuales de ls directris que puedan afectar a ls recurss del MiniApplet Servidres de Prtlets. Etc. 27

28 5 El prces de firma electrónica Selección de cntenid a firmar Selección de certificad de firma Firma Recgida de resultad Cualquier firma electrónica realizada mediante el MiniApplet sigue un prces simple de 4 pass. 5.1 Selección del cntenid a firmar La cnversión de dats a Base64 L primer que debems saber antes de trabajar cn dats en el es que ests siempre se transfieren en frmat Base64, tant desde el Applet al JavaScript de la página Web cm en sentid invers, per el MiniApplet internamente trabaja cn la descdificación binaria de ests dats en Base64. Base64 Ja v a S c r i p t M i n i A p p l e i r m a Binari Base64 Est significa que ls dats firmads realmente n serán ls que nstrs prprcinems en Base64, sin su descdificación binaria. Así, pr ejempl, si la cadena de text SOY UN TEXTO A FIRMAR tiene cm representación en base64 la cadena U09ZIFVOIFRFWFRPIEEgRklSTUFS, debems establecer cm dats a firmar siempre U09ZIFVOIFRFWFRPIEEgRklSTUFS, per l que se firmará será SOY UN TEXTO A FIRMAR. Esta frma de perar permite trabajar sin ambigüedades tant cn texts en diferentes cdificacines (ASCII, UTF-8, ISO , etc.) cm cn dats binaris de cualquier tip. El MiniApplet cuenta cn ds métds de utilidad para cdificar y descdificar dats en Base64, gettextfrmbase64() y getbase64frmtext(). En ambs cass es necesari indicar el jueg de caracteres (cdificación) del text para evitar prblemas en las cnversines. Si descnce 28

29 prefiere que se detecte autmáticamente la cdificación, utilice algun de ls parámetrs especiales que se definen en ls apartads Cnversión de una cadena Base64 a text y Cnversión de un text a cadena Base Selección de cntenid desde fichers en disc En muchas casines, el cntenid a firmar n es directamente accesible desde JavaScript para ser firmad, y es necesari acceder al disc del usuari para recuperarl desde un ficher. Para estas casines, el permite que en las peracines de firma, cfirma y cntrafirma n se especifiquen ls dats que se quieren firmar las firmas que se quieren multifirmar. Cuand n se indican, el Applet permite al usuari cargar un ficher en disc desde el que cargar ests dats. Alternativamente, aunque n se recmendable ya que puede prducir prblemas al cargar fichers grandes, el MiniApplet cuenta cn cierts métds de utilidad que permiten la lectura de un varis fichers (getfilenamecntentbase64() y getmultifilenamecntentbase64()). Ests métds muestran al usuari un diálg de selección cn el que seleccinar ls fichers y devuelven siempre el nmbre y cntenid de ls fichers en Base64, cn independencia del cntenid ests. Cnsulte el apartad de Selección de un ficher pr parte del usuari y recuperación de su nmbre y cntenid para más detalles. El us de ls métds getfilenamecntentbase64() y getmultifilenamecntentbase64() rmpe la cmpatibilidad del despliegue cn el móvil Selección de bjetiv de las cntrafirmas El cas de las cntrafirmas es especial en el sentid que l dats prprcinads n sn realmente l que querems firmar, sin que sn una firma electrónica la cual querems cntrafirmar. En este cas, la firma ha de prprcinarse de igual frma que si se tratase de ls dats reales a firmar (cn las mismas cnsideracines respect a la cdificación Base64). Para determinar si debe cntrafirmar td el árbl de firmas sl ls nds hja deben realizarse indicacines mediante parámetrs adicinales. Cnsulte el apartad Selección de ls nds que se desean cntrafirmar para aprender a cnfigurar ls nds bjetiv de la cntrafirma. 5.2 Selección del certificad y clave privada de firma Una vez tenems establecid en JavaScript el cntenid que querems firmar, el siguiente pas es la elección de la clave privada y su certificad asciad cn ls que querems realizar la firma electrónica. Pr mtivs de seguridad, el integradr n puede btener la lista de certificads y claves instaladas en el equip del usuari, y es siempre respnsabilidad es este últim su selección, per l que si 29

30 puede el integradr es restringir ls psibles certificads a usar en base a una serie de criteris predefinids, en l que el MiniApplet cncreta cm Filtrs de certificads. Una vez se ha aplicad el filtr de certificads, en cas de haberl establecid, se mstrará al usuari el diálg de selección cn el listad filtrad de certificads. También es psible realizar una selección autmática de certificad cuand sól haya un seleccinable. Cnsulte el apartad Selección autmática de certificads para saber el md de cnfigurar esta pción. En el cas de que ningún certificad cumpla cn ls criteris de filtrad se prducirá una situación de excepción. 5.3 Firma El MiniApplet cuenta cn tres métds independientes para cada un de las peracines sprtadas (firma, cfirma y cntrafirma). A ests métds, además de ls dats a firmar y filtrs de certificads cmentads anterirmente es necesari indicar el frmat (PAdES, CAdES, XAdES u FacturaE), el algritm de firma y trs parámetrs adicinales que pudiesen ser necesaris. En el cas de la cfirma y cntrafirma (per n en firmas simples), puede utilizarse el frmat AUTO para indicar que debe realizarse una firma cn el mism frmat que la firma riginal. Ls métds de firma, cfirma y cntrafirma devuelven siempre las firmas cdificadas en Base Recgida de resultads Cuand desde JavaScript se recibe el resultad de la firma en Base64 l más cmún es ptar pr una entre ds pcines: Guardar ls resultads en un archiv en el almacenamient lcal del usuari enviarls a un servidr. En el primer cas el prprcina un métd de utilidad (savedatatfile()) para guardar resultads en disc. En este cas es siempre el usuari el que elige nmbre del ficher y directri de destin pr mtivs de seguridad, y debems acrdarns que aunque le prprcinems ls dats en Base64, l que se almacenará en el ficher es la descdificación binaria de ests. Si ptams pr enviarls a un servidr, l más usual es hacerl directamente en Base64 y, psterirmente, mediante una aplicación en servidr independiente del MiniApplet, realizar las transfrmacines y descdificacines pertinentes. En la llamada a savedatatfile() pueden indicarse ls texts que debe mstrar el diálg, pr l que debe tener la precaución, pr cherencia, de usar el mism idima que ha cnfigurad para el MiniApplet. 30

31 6 Funcines dispnibles del El expne una serie de funcinalidades a través de JavaScript que permiten realizar la mayría de las accines relativas a las firmas electrónicas en entrns crprativs de administración electrónica. Estas funcinalidades están divididas en distints apartads según su tiplgía: Firma electrónica Firmas electrónicas múltiples Cfirma Cntrafirma Cnfiguración Blque del certificad de firma (para prcess masivs). Gestión de fichers Guardad de dats en disc Selección de un ficher pr parte del usuari y recuperación de su nmbre y cntenid. Selección de múltiples fichers pr parte del usuari y recuperación de sus nmbres y cntenids. Utilidad Obtención de ls mensajes de errr Cnversión de una cadena Base64 a text. Cnversión de un text a una cadena Base Us del API desde JavaScript El API del se expne autmáticamente al entrn JavaScript al imprtar la bibliteca miniapplet.js y está perativ pasads uns segunds desde la invcación al métd de carga. Debid a este liger retras desde la invcación al métd de carga y la finalización de la prpia carga (y pr l tant de la cmpleta peratividad del API), es recmendable que la llamada al métd de carga se realice autmáticamente (cm se ha indicad en el apartad Carga del MiniApplet), per que el inici de la lógica de firma dependa de una interacción del usuari cn la página Web (cm pulsar un btón), así el prpi tiemp de reacción del usuari ante el interfaz gráfic permite cargar pr cmplet el MiniApplet. 6.2 Obtención de resultads Ls métds de peración criptgráfics del MiniApplet btienen cm resultad la firma/multifirma generada. Esta firma puede btenerse de ds frmas: directamente cm valr de retrn de las funcines mediante funcines callback que establecen el cmprtamient definid para prcesar ese resultad. Ls métds de peración del MiniApplet sn únics, lueg se usa un mecanism u tr según si se han establecid ls métds de callback (md asíncrn) n (md síncrn). Para utilizar el md síncrn (devlución directa del resultad), 31

32 basta cn establecer ls parámetrs crrespndientes de cada función a null, directamente, mitirls en la llamada Obtención directa de resultads La btención de frma síncrna de ls resultads es la que se ha utilizad hasta ahra y se hereda del Applet Este md simplifica a ls prgramadres rganizar a ejecución de las peracines de una frma secuencial, que viene a ser el md cmún de us, y facilita la migración desde el Applet al MiniApplet Sin embarg, este md n disfruta de las ventajas que se cnsiguen mediante el md de peración asíncrn que se btiene mediante el us de callbacks (véase el apartad Obtención de resultads mediante Callbacks ), que es además el que permite que nuestrs desarrlls sea cmpatibles cn platafrmas móviles. Mientras que este md de us hace que el resultad de la peración se btenga cm valr devuelt pr la función, ls errres pueden detectarse mediante la captura de excepcines. La identificación de ests errres se realizará mediante ls métds geterrrtype() y geterrrmessage(). Un ejempl de peración en el que se btiene de frma síncrna el resultad de las peracines de firma es: // Llamams a la peración de firma var signature; try { signature = MiniApplet.sign(null, SHA512withRSA, PAdES, null); } catch (e) { // Mstrams un mensaje cn el errr btenid var message = MiniApplet.getErrrMessage(); dcument.getelementbyid( resultmessage ).innerhtml = Errr: + message; } // Guardams la firma en un camp de un frmulari dcument.getelementbyid( result ).value = signature; // Mstrams un mensaje cn el resultad de la peración dcument.getelementbyid( resultmessage ).innerhtml = La firma finalizó crrectamente ; Obtención de resultads mediante Callbacks Ls métds de firma, cfirma y cntrafirma del MiniApplet se ejecutan de frma asíncrna cuand se establece al mens una de las funcines callback para el tratamient de ls resultads. Al hacerl de esta manera, que es la recmendada, se evita que el script quede blquead durante su ejecución y el navegadr l detecte cm un funcinamient anómal e intente blquearl. Así mism, el us de este mecanism permite que nuestr despliegue sea cmpatible cn el Cliente de firma móvil. 32

33 Para pder perar cn este funcinamient asíncrn se ha dispuest el sistema de callbacks. Estas callbacks sn también funcines que definen que se debe hacer cn el resultad de la peración. Pr ejempl: Pdems definir que muestre en un camp de un frmulari un mensaje indicand que la peración ha terminad crrectamente. Pdems guardar la firma en disc mediante el métd prprcinad pr el prpi MiniApplet. Pdems adjuntarla a un camp cult de un frmulari y enviarl. Pdems hacer que se cfirme el resultad de una firma. Etc. Estas callbacks se definen cm funcines nrmales JavaScript y pueden servir para 2 prpósits: Gestinar el resultad de una peración firma, cfirma cntrafirma. Gestinar el errr devuelt pr una peración firma, cfirma cntrafirma. La función que gestina el resultad crrect de las peracines criptgráficas recibe ds parámetrs que serán el resultad devuelt pr la peración (la firma, cfirma cntrafirma generada en base64) y el certificad utilizad para firmar (cdificad en base64). Esta puede tener la frma: functin successcallback(signaturebase64, certificateb64) { } La función que gestina ls cass de errr btendrá siempre 2 parámetrs que definen el tip de errr prducid (la clase de excepción cualificada que prduj el errr) y el mensaje de errr asciad. Esta función puede ser de la frma: functin errrcallback(type, message) { } Para tratar el resultad de las firmas, cfirmas y cntrafirmas mediante estas funcines se les pasará el nmbre de las funcines de gestión del resultad y ls errres cm penúltim y últim parámetr, respectivamente. Pr ejempl: // Función que se ejecutará si la firma termina crrectamente functin savesignaturefunctin (signatureb64) { // Guardams la firma en un camp de un frmulari dcument.getelementbyid( result ).value = signatureb64; // Mstrams un mensaje cn el resultad de la peración 33

34 dcument.getelementbyid( resultmessage ).innerhtml = La firma finalizó crrectamente ; } // Función que se ejecutará si el prces de firma falla functin shwerrrfunctin (type, message) { // Mstrams un mensaje cn el resultad de la peración dcument.getelementbyid( resultmessage ).innerhtml = Errr + message; } // Llamams a la peración de firma MiniApplet.sign(null, SHA512withRSA, PAdES, null, savesignaturefuntin, shwerrrfuntin); 6.3 Firma electrónica Mediante la peración de firma electrónica pdems realizar la firma de ls dats seleccinads pr el integradr y pr el usuari. El resultad de esta peración se debe gestinar asíncrnamente mediante funcines callback. Est garantiza que el JavaScript de nuestra página n se queda blquead durante la peración, evitand mlests mensajes pr parte del navegadr Web. Este us de la función de firma también garantiza la cmpatibilidad del despliegue cn el Cliente Móvil. Para ejecutar la peración de firma se utiliza la función JavaScript: functin sign(datab64, algrithm, frmat, params, successcallback, errrcallback); En esta función: datab64: Dats en frma de cadena en Base64 que deseams firmar. También puede n indicar la firma (usar null) para que se muestre al usuari un diálg de carga de ficher. Si ls dats que necesita firmar sn un text, cárguel y cnviértal a base 64 tal cm se indica en el apartad Cnversión de un text a cadena Base64. Cuand ls dats a firmar se encuentran en una URL (HTTP HTTPS) accesible en el mism dmini que el Applet, es psible indicar directamente esta URL en vez de ls dats a firmar. En este cas, el prgrama JavaScript realizará autmáticamente la descarga de ess dats desde la URL y su cnversión a Base64 para su psterir firma. Si se usa el MiniApplet esta URL tendrá las mismas restriccines de acces que las pr defect para JavaScript del navegadr y el servidr Web, l cual, en cndicines nrmales, bliga a que ls dats estén en el mism dmini que la página Web que alja el MiniApplet, y debe ser accesible pr el mism prtcl (HTTP HTTPS). 34

35 Si se usa la aplicación AutFirma, n existirá ninguna restricción de acces (except las definidas pr ls sistemas crtafuegs de seguridad y la cnfiguración general del entrn en el que se ejecuta). En el cas de ejecutarse AutFirma en lugar del (véase Cmpatibilidad cn dispsitivs móviles y AutFirma), la URL prprcinada en lugar de ls dats se le pasará a AutFirma para que sea la prpia aplicación la que descargue ls dats. algrithm: Algritm de firma. Cnsulte el apartad Algritms de firma para cncer ls algritms dispnibles. frmat: Frmat de firma. Cnsulte el apartad Frmats de firma sprtads pr el para cnsultar aquells dispnibles. params: Parámetrs adicinales para la cnfiguración de la firma. Cnsulte el apartad Pas de parámetrs adicinales a ls métds de firma, cfirma y cntrafirma para saber cóm realizar el pas de parámetrs y el apartad de infrmación específica del frmat de firma que desee realizar para saber ls parámetrs sprtads pr el frmat en cuestión. successcallback: Función JavaScript que se ejecutará una vez se btenga el resultad de la peración de firma. Esta función recibirá cm únic parámetr la firma resultad. Si se mite este parámetr, se establece a null, la firma resultad se btendrá cm valr de retrn de la función. errrcallback: Función JavaScript que se ejecutará cuand curra un errr durante la peración de firma. Esta función recibirá ds parámetrs que sn el tip y el mensaje de errr. Si se mite este parámetr, se establece a null, el errr se btendrá en frma de excepción. Cnsulte el apartad Gestión de errres. El resultad de esta peración puede btenerse directamente gestinarse mediante las funcines callback. Este resultad se btiene cdificad en base Ejempls: A cntinuación se muestran distints ejempls relacinads cn la función de firma electrónica: Firma electrónica cargand dats desde un ficher: // Funcin que se ejecutara cuand la firma termine crrectamente. // Advertencia: Esta peración n se puede ejecutar en AutFirma desde Chrme // prque n sprta 2 llamadas al applet sin interacción cn el usuari. functin savesignaturefunctin (signatureb64, certificateb64) { MiniApplet.saveDataTFile(signatureB64, Guardar firma, firma.pdf, pdf, Adbe PDF ); } // Funcin que se ejecutara cuand el prces de firma falle functin shwerrrfunctin (type, message) { shwerrr(message); // Funcin creada pr el integradr para mstrar errres } 35

36 // Llamams a la peracin de firma MiniApplet.sign(null, SHA512withRSA, PAdES, null, savesignaturefuntin, shwerrrfuntin); Firma electrónica de un text: var text = Hla Mund!! ; var datab64 = MiniApplet.getBase64FrmText(text, default ); MiniApplet.sign(dataB64, SHA1withRSA, CAdES, null, successfunctin, errrfuntin); Firma electrónica de un text intrducid pr el usuari: var text = dcument.getelementbyid( usertext ).value; var datab64 = MiniApplet.getBase64FrmText(text, aut ); MiniApplet.sign(dataB64, SHA1withRSA, CAdES, null, successfunctin, errrfuntin); <!-- Fragment HTML cn un camp de text en dnde el usuari puede insertar el text que desea firmar --> <frm> <textarea name="usertext" cls="50" rws="5">aquí el usuari puede insertar el text que quiera</textarea> </frm> Firma electrónica permitiend al usuari seleccinar parámetrs de firma: var params = expplicy=firmaage ; var mdes = dcument.getelementsbyname( rbmde ); fr (i = 0; i <mdes.length; i++) { if (mdes[i].checked) { params = params + \nmde= + mdes[i].value; break; } } MiniApplet.sign( datab64, SHA1withRSA, CAdES, params, successfunctin, errrfunctin ); <!-- Fragment HTML cn btnes de radi para la selección del md de firma --> <frm> <input type="radi" name="rbmde" value="explicit" checked="checked" />Explícita <br/> <input type="radi" name="rbmde" value="implicit" />Implícita </frm> 36

37 6.4 Firmas electrónicas múltiples En este apartad se englban las peracines que permiten agregar más de una firma electrónica a un dcument. Existen ds tips generales de firmas múltiples: Cfirmas. Permiten que varis individus firmen el mism dcument. Cntrafirmas: Permite que un firmante refrende una firma electrónica Cfirmas Operación mediante la cual ds más firmantes muestran su acuerd cn un dcument dats cncrets. La cfirma cnsiste en agregar la infrmación de firma de un firmante a una firma ya existente. Así, será necesari que una persna firme el dcument generand así la infrmación de firma y, psterirmente, el rest de ls firmantes cfirmen la firma generada. Si la firma generada cntenía ls dats firmads n serán necesaris nuevamente ls dats para la generación de las cfirmas. Un ejempl de us de este tip de firmas es cuand varis individus firman el mism cntrat cm partes cntratante y cntratista, cmpuestas, tal vez, pr varis individus cada una teniend que firmar tds ells. El resultad de esta peración se debe gestinar asíncrnamente mediante funcines callback. Est garantiza que el JavaScript de nuestra página n se queda blquead durante la peración, evitand mlests mensajes pr parte del navegadr Web. Este us de la función de firma también garantiza la cmpatibilidad del despliegue cn el Cliente Móvil. La función JavaScript mediante la cual se realizan las cfirmas es: functin csign(signb64, datab64, algrithm, frmat, params, successcallback, errrcallback); En esta función: signb64: Firma electrónica en frma de cadena en Base64 que deseams cfirmar. Una firma en Base64 es el resultad btenid pr las peracines de firma, cfirma y cntrafirma. También puede n indicar la firma (usar null) para que se muestre al usuari un diálg de carga de ficher. datab64: Dats en frma de cadena en Base64 que firmams riginalmente. Puede ser nul si la firma seleccinada cntiene ls dats firmads riginalmente. Si ls dats utilizads riginalmente para la firma sn un text, cárguel y cnviértal a base 64 tal cm se indica en el apartad Cnversión de un text a cadena Base64. algrithm: Algritm de firma. Cnsulte el apartad Algritms de firma para cncer ls algritms dispnibles. 37

38 frmat: Frmat de firma. Cnsulte el apartad Frmats de firma sprtads pr el para cnsultar aquells dispnibles. Si n cnce el frmat de firma utilizad para la firma riginal, indique el valr AUTO para especificar que se utilice el mism frmat en cfirmas y cntrafirmas (el parámetr n es válid en firmas simples). Este valr sól reprduce el frmat, n las prpiedades de la firmas riginales. Pr ejempl, si cfirmásems una firma XAdES-EPES, indicand "AUTO" cm valr, agregaríams a esta una cfirma XAdES-BES salv que indicásems a través del parámetr params la plítica de firma que querems utilizar. params: Parámetrs adicinales para la cnfiguración de la cfirma. Si se intrduce un nul, se usará la cnfiguración pr defect para el frmat de firma establecid. Cnsulte el apartad Pas de parámetrs adicinales a ls métds de firma, cfirma y cntrafirma para saber cóm realizar el pas de parámetrs y el apartad de infrmación específica del frmat de firma que desee realizar para saber ls parámetrs sprtads pr el frmat en cuestión. successcallback: Función JavaScript que se ejecutará una vez se btenga el resultad de la peración de cfirma. Esta función recibirá cm únic parámetr la cfirma resultad. Esta función recibirá cm únic parámetr la firma resultad. Si se mite este parámetr, se establece a null, la firma resultad se btendrá cm valr de retrn de la función. errrcallback: Función JavaScript que se ejecutará cuand curra un errr durante la peración de cfirma. Esta función recibirá ds parámetrs que sn el tip y el mensaje de errr. Si se mite este parámetr, se establece a null, el errr se btendrá en frma de excepción. Cnsulte el apartad Gestión de errres. El resultad de esta peración puede btenerse directamente gestinarme mediante las funcines callback. Este resultad se btiene cdificad en base Ejempls: A cntinuación se muestran distints ejempls relacinads cn la función de cfirma electrónica: Cfirma electrónica cargand una firma desde un ficher sabiend que esta cntiene ls dats firmads riginalmente: MiniApplet.cSign(null, null, SHA1withRSA, CAdES, null, successcallback, errrcallback); Cfirma electrónica del resultad de una firma: // Funcin que realiza la cfirma a partir de ls dats de firma functin csignfunctin (signatureb64) { MiniApplet.cSign( signatureb64, datab64, SHA1withRSA, XAdES, null, savedatafunctin, shwerrr ); } 38

39 // Función que almacena ls dats generads pr la cfirma en el camp // resultid de un frmulari y l envia functin savedatafunctin (csignb64, certificateb64) { dcument.getelementbyid( resultid ).value = csignb64; dcument.getelementbyid( firmante ).value = certificateb64; dcument.getelementbyid( frmulari ).submmit(); } // Función para firmar dats. Si termina crrectamente la peración de firma se // llama a la función csignfunctin cn el resultad de la peración y, si // esta también termina crrectamente, se llama a la función savedatafunctin // cn el resultad de la cfirma. Si falla alguna de estas funcines se llama // al métd shwerrr functin firmar(datab64) { MiniApplet.sign(dataB64, SHA1withRSA, XAdES, frmat=xades Detached, csignfunctin, shwerrr); } Cfirma electrónica de tra peración de multifirma: functin csignactin (signatureb64) { MiniApplet.cSign( multisignatureb64, datab64, SHA1withRSA, XAdES, null, successcallback, errrcallback ); }; MiniApplet.csign(signB64, SHA1withRSA, XAdES, null, csignactin, errrcallback); Cntrafirmas Operación mediante la cual una entidad refrenda la firma de tra. La cntrafirma cnsiste en agregar una firma electrónica sbre tra para revalidarla. Ejempls de us de este tip de firmas sn cuand un ntari cnfirma que las firmas de un más individus sn crrectas y pertenecen realmente a ests, cuand, debid a la caducidad de ls certificads de firma, un usuari desea revalidar una firma realizada cn un certificad antigu cn un algritm de firma actualmente insegur. Para realizar una cntrafirma n es necesari dispner del dcument que se firmó riginalmente. N tds ls frmats de firma permiten la cntrafirma de fichers. Cnsulte el manual del frmat de firma de su interés para cncer si este sprta esta peración. La función JavaScript mediante la cual se realizan las cntrafirmas es: functin cuntersign(signb64, algrithm, frmat, params, successcallback, errrcallback); En esta función: 39

40 signb64: Firma electrónica en frma de cadena en Base64 que deseams cntrafirmar. Una firma en Base64 es el resultad btenid pr las peracines de firma, cfirma y cntrafirma. También puede n indicar la firma (usar null) para que se muestre al usuari un diálg de carga de ficher. algrithm: Algritm de firma. Cnsulte el apartad Algritms de firma para cncer ls algritms dispnibles. frmat: Frmat de firma. Cnsulte el apartad Frmats de firma sprtads pr el para cnsultar aquells dispnibles. Si n cnce el frmat de firma utilizad para la firma riginal, indique el valr AUTO para especificar que se utilice el mism frmat en cfirmas y cntrafirmas (el parámetr n es válid en firmas simples). Pr ejempl, si cntrafirmásems una firma CAdES-EPES, indicand "AUTO" cm valr, agregaríams a esta una cntrafirma CAdES-BES salv que indicásems a través del parámetr params la plítica de firma que querems utilizar. params: Parámetrs adicinales para la cnfiguración de la cntrafirma. Si se intrduce un nul, se usará la cnfiguración pr defect para el frmat de firma establecid. Cnsulte el apartad Pas de parámetrs adicinales a ls métds de firma, cfirma y cntrafirma para saber cóm realizar el pas de parámetrs y el apartad de infrmación específica del frmat de firma que desee realizar para saber ls parámetrs sprtads pr el frmat en cuestión. successcallback: Función JavaScript que se ejecutará una vez se btenga el resultad de la peración de cntrafirma. Esta función recibirá cm únic parámetr la cntrafirma resultad. Esta función recibirá cm únic parámetr la firma resultad. Si se mite este parámetr, se establece a null, la firma resultad se btendrá cm valr de retrn de la función. errrcallback: Función JavaScript que se ejecutará cuand curra un errr durante la peración de cntrafirma. Esta función recibirá ds parámetrs que sn el tip y el mensaje de errr. Si se mite este parámetr, se establece a null, el errr se btendrá en frma de excepción. Cnsulte el apartad Gestión de errres. El resultad de esta peración puede btenerse directamente gestinarme mediante las funcines callback. Este resultad se btiene cdificad en base Creación del árbl de firmas La peración de cntrafirma se realiza sbre tra firma. Esta puede ser una firma simple, una cfirma u tra cntrafirma. Estas peracines de firma, cfirma y cntrafirma van agregand firmas a un dcument y, ya que las cntrafirmas se realizan sbre firmas previas, se frma l que se ha dad en llamar un árbl de firmas. Pr ejempl si realizams una firma sbre uns dats btendríams la siguiente estructura: 40

41 Si realizásems una cfirma sbre el resultad de la peración anterir btendríams l siguiente: Tenga en cuenta que una firma y una cfirma están al mism nivel y sn equivalentes. N tiene imprtancia cual fue la primera en realizarse (firma) y cual la siguiente siguientes prque tdas sn cfirmas. Las cfirmas sn firmas sbre ls dats riginales, pr l tant tdas dependen de ests. Así, si agregams una nueva cfirma quedaría de la siguiente frma: Una cntrafirma, en cambi se realiza sbre una firma previa, nunca sbre ls dats. Pr ejempl: Una persna que cntrafirme, puede estar interesada en cntrafirmar más de una firma simultáneamente. Este sería el cas de un ntari que valida cn la suya las firmas de las ds partes de un cntrat. Est se representa cn una firma sbre cada una de las firmas que se cntrafirmen, que n tienen pr qué ser tdas las del árbl de firmas. Pr ejempl, pdems cntrafirmar la cfirma anterirmente cntrafirmada y tra adicinal, quedand así: 41

42 Ds cntrafirmas situadas a un mism nivel del árbl n sn cfirmas, ni siquiera cuand dependen del mism nd. Simplemente, sn cntrafirmas del mism nd. Siempre es psible seguir creand cfirmas y cntrafirmas al árbl las cfirmas siempre dependerán de ls dats y las cntrafirmas de tr nd de firma. Este nd puede ser así una cntrafirma, generand nuevs niveles en el árbl: Selección de ls nds que se desean cntrafirmar En función de l explicad en el apartad anterir, el permite que las cntrafirmas se realizan sbre ls siguientes bjetivs: Nds hja del árbl (LEAFS): Se firmarán sól las firmas del árbl de ls que n depende ningún tr nd. Td el árbl de firma (TREE): Se firman tds ls nds de firma del árbl. La cnfiguración de qué nds se desean firmar se realiza a través del parámetr params de la función de cntrafirma, al que, además de tda la cnfiguración específica del frmat de firma, el parámetr adicinal target que indica ls nds a cntrafirmar. Si desea cncer cóm utilizar el parámetr params para establecer una cnfiguración, cnsulte el aparatad Pas de parámetrs adicinales a ls métds de firma, cfirma y cntrafirma. La clave target del params puede adptar un de ls siguientes valres: leafs: : Cntrafirma tdas las firmas que sean nds hja del árbl. Este es el valr pr defect. tree: : Cntrafirma tdas las firmas del árbl. 42

43 Si, pr ejempl, dispnems del siguiente árbl de firmas: Cada una de las cnfiguracines dará el siguiente resultad: target=leafs target=tree Si desea realizar cntrafirmas más cncretas que permitan seleccinar nds firmantes cncrets del árbl de firmas, cnsulte el catálg de para determinar cuál es la más aprpiada para sus necesidades Ejempls: A cntinuación se muestran distints ejempls relacinads cn la función de cntrafirma electrónica: Cntrafirma electrónica de una firma seleccinada pr el usuari: var filenamedatab64; try { filenamedatab64 = MiniApplet.getFileNameCntentBase64( 43

44 Ficher de firma, xsig, Firma XAdES ); } catch (e) { return; } var signatureb64; var separatridx = filenamedatab64.indexof(" "); if ((separatridx + 1) < filenamedatab64.length) { signatureb64 = filenamedatab64.substring(separatridx + 1); } else { /* El ficher n cntenía dats */ return; } MiniApplet.cunterSign( signatureb64, SHA1withRSA, XAdES, null, successcalback, errrcallback ); Cntrafirma electrónica del resultad de una firma: // Advertencia: Esta peración n cn AutFirma ejecutad desde Chrme sin // que el usuari intervinese entre ambas peracines functin cuntersigncallback (signatureb64) { MiniApplet.cunterSign( signatureb64, SHA1withRSA, XAdES, null, successcallback, errrcallback ); } MiniApplet.sign(dataB64, SHA1withRSA, XAdES, null, cuntersigncallback, errrcallback); Cntrafirma electrónica de td el árbl de firmas: MiniApplet.cunterSign( signatureb64, SHA1withRSA, CAdES, target=tree, successcallback, errrcallback ); 6.5 Firmas/Multifirmas trifásicas El, siguiend la perativa nrmal, realiza las firmas electrónicas siguiend ls siguientes pass: 1. Cnstruye la estructura que el usuari debe firmar según el frmat de firma y la cnfiguración seleccinada. 2. Realiza la firma digital de ess dats cn el certificad del usuari. 3. Finalmente, cmpne la firma en el frmat de firma electrónica cnfigurad. 44

45 Sin embarg, el MiniApplet y AutFirma también permiten que la primera y tercera de las fases mencinadas se realicen de frma externa (en un servidr remt), mientras que la segunda fase, la firma digital cn el certificad del usuari, se realiza internamente. Esta división del prces de firma en 3 fases es l que cmúnmente se llama Firma Trifásica. Esta perativa resulta de much interés en determinads cass: El rigen y/ el destin de la infrmación es un servidr, de tal frma que se pueden preprcesar ls dats en servidr (Fase I) y mandar al usuari sól la infrmación mínima necesaria, firmarla el usuari en su sistema (Fase II) y, cn el resultad, cmpner la firma en servidr (Fase III) para seguidamente enviarla a dnde crrespnda. Se necesita firmar dcuments muy grandes. La firma trifásica interesa en este cas prque la mayr carga de prces recaería sbre el servidr y n sbre el sistema del usuari que presuntamente tendrá muchs mens recurss. El us de la firma trifásica en ests cass cnlleva una serie de ventajas y desventajas: Ventajas El dcument n viaja a través de la red. Mayr facilidad para desarrlls sbre dispsitivs móviles y mens prpens a errres debid a que la parte cliente n se vería expuesta a las muchas variables del entrn que pueden afectar a ls distints frmats de firma (versines preinstaladas de biblitecas, cambis en Java,). Las peracines más cmplejas se realizan en servidr, un entrn much más cntrlad. Desventajas: Implica un mayr númer de cnexines de red, aunque el tráfic de red, según el cas, pdría sea menr. Requiere el despliegue de servicis en el servidr. Cm nta imprtante, debe recalcarse que el prcedimient de firma trifásic es útil únicamente cuand ls fichers residen en servidr y se implementan las clases adecuadas para su btención y almacenamient. Cuand el dcument a firmar reside en cliente, n sl se prduce un innecesari tráfic de red, sin que se aumenta la psibilidad de fall y se incrementan las necesidades de memria del MiniApplet Realizar firma trifásicas cn el MiniApplet Para bligar al AutFirma a generar una firma de frma trifásica es necesari realizar las siguientes accines. Establecer el frmat de firma trifásica Para la firma en ls frmats CAdES, PAdES y XAdES se usará CAdEStri, PAdEStri y XAdEStri, respectivamente, cm identificadr del frmat. 45

46 La versión actual n sprta la firma de facturas electrónicas en frma trifásica. El frmat FacturaEtri n existe. La firma de facturas electrónicas tampc puede realizarse mediante el frmat XAdES, ni de frma mnfásica, ni trifásica, independientemente de la plítica de firma que se utilice. Cnfigurar parámetr cn la URL del servidr En ls parámetrs extra de la peración se deberá cnfigurar la URL del servici de firma trifásica. Este parámetr se cnfigurará cn la clave serverurl. Para saber más de ls parámetrs extra de cnfiguración cnsulte el apartad Pas de parámetrs adicinales a ls métds de firma, cfirma y cntrafirma Ejempls: A cntinuación se muestran alguns ejempls de peración trifásica: Firma trifásica XAdES: MiniApplet.sign( datab64, SHA1withRSA, XAdEStri, frmat=xades Detached\nserverUrl=http://miweb.cm/TriPhaseSignerServer/SignatureService, successcalback, errrcallback ); Cfirma trifásica CAdES: MiniApplet.cSign( signb64, datab64, SHA512withRSA, CAdEStri, serverurl=http://miweb.cm/triphasesignerserver/signatureservice, successcalback, errrcallback ); Servici de firma trifásica Este servici es el que realiza la primera y tercera fase del prces de firma trifásica. Junt al se distribuye el archiv WAR afirma-server-triphase-signer.war que despliega un servici web de tip REST cn las funcinalidades de firma trifásica. Este servici n es dependiente de ningún servidr de aplicacines cncret. Cnsulte el manual de su servidr de aplicacines para saber cóm desplegar este ficher WAR. El servici de firma trifásica distribuid junt al MiniApplet sprta ls frmats CAdES, XAdES y PAdES (firmas y multifirmas) y admite las mismas pcines de cnfiguración que las firmas mnfásicas de ests frmats. Advertencia: Se han detectad prblemas cn JBss 7 debid a que incrpra de serie la versión 1.5.X de la bibliteca XMLSec, que intrduce un prblema de cmpatibilidad cn las firmas XAdES. 46

47 Si está segur de que ninguna de sus aplicacines hace us de esta bibliteca, elimínela para slventar este prblema. Es muy recmendable habilitar el servici de firma trifásica cuand se realizan despliegues cmpatibles cn el móvil. Para saber más acerca del móvil cnsulte el apartad Cmpatibilidad cn dispsitivs móviles. Alguns servidres de aplicacines incrpran biblitecas que se cargan autmáticamente en cualquier despliegue realizad, l que puede cnllevar a prblemas de cmpatibilidad cn el servici de firma trifásica, en especial cn la firma XAdES. Un de ests servidres es JBss en sus versines 7 y EAP 6. Puede cnsultar cm slventar este prblema en el apartad El servici de firma trifásica genera un errr al realizar firmas XAdES en servidres JBss u trs Cnfiguración del servici de firma trifásica Ta cm se distribuye, el servici de firma trifásica n necesita cnfiguración para permitir generar firmas trifásicas de la frma nrmal del. Est es, cuand el integradr pase cm parámetr ls dats que desea firmar y quiera recibir la firma resultante. Existe la psibilidad, sin embarg, de cnfigurar el servici trifásic, mediante el ficher cnfig.prperties cntenid en el WAR, para establecer un Dcument Manager (Administradr de dcuments) distint que recja ls dats de tra fuente y ls envíe a tr destin. Integrads en el servici trifásic se distribuyen 2 Dcument Manager distints que el integradr del servici puede cnfigurar mediante la clave dcument.manager del ficher de prpiedades: es.gb.afirma.triphase.server.selfishdcumentmanager: Es el Dcument Manager pr defect y emula el cmprtamient de la firma mnfásica del cliente. Es decir, recibe ls dats a firmar y devuelve la firma. es.gb.afirma.triphase.server.filesystemdcumentmanager: En este cas se enviaría, en lugar de ls dats a firmar, el nmbre de un ficher lcalizad en el servidr para que sea el que se firme. La firma resultante se guardará en tr directri del servidr y se devlverá al MiniApplet únicamente la cadena OK para cnfirmar que la peración finalizó crrectamente. Este Dcument Manager permite que ls dats (cuy rigen y destin sea un servidr) n viajen hasta el lad cliente reduciend cnsiderablemente el tráfic de red y la fiabilidad y velcidad del prces. Si se cnfigura este Dcument Manager se pueden cnfigurar tras tres prpiedades en el ficher de cnfiguración del servici: indir: Directri del servidr en dnde se encuentran ls dcuments de dats. 47

48 utdir: Directri del servidr en dnde se almacenan las firmas generadas. verwrite: Cnfigura si se deben sbrescribir ls fichers de firma si ya existe una cn el mism nmbre (true) n (false). El Dcument Manager es.gb.afirma.triphase.server.filesystemdcumentmanager se prprcina únicamente a md de ejempl de cóm puede implementarse el servici usand un simple sistema de fichers, per n es un desarrll preparad para llevarse a prducción (pr mtivs de seguridad, escalabilidad, etc.). Un desarrlladr Java pdría crear nuevs Dcument Manager a medida e integrarls en el servici. Para ell deberá implementar la interfaz es.gb.afirma.triphase.server.dcumentmanager. Pr ejempl, se pdría crear un Dcument Manager que recgiese ls dats a firmar de un gestr de cntenids y almacenase la firma resultante en base de dats Ntas específicas para cnfiguración del ejempl FileSystemDcumentManager Parámetrs de us y descripción del funcinamient FileSystemDcumentManager es un simple simuladr de repsitri de cntenids que funcina sbre un sistema de fichers, dnde el identificadr del dcument es realmente el nmbre del ficher, tant en la entrada (ficher a firmar) cm en la salida (ficher cn la firma hecha). En él, ls nmbres de fichers se indican cdificads en Base64, para evitar prblemas de cdificación, teniend pr ejempl: dcument.pdf se indicaría cm ZG9jdW1lbnRvLnBkZg== firma.xsig se indicaría cm ZmlybWEueHNpZw== El servici devuelve también, cdificad en Base64, el nmbre del ficher (sin ruta, supniend que esta es siempre utdir) en el cual se ha almacenad la firma resultante. Ests fichers se leen y escriben siempre tmand cm base ls directris indicads (utdir e indir), per pr tratarse de un ejempl, n se cntrla que se usen rutas relativas para acceder a partes privadas del sistema perativ (pr ejempl, indicand../../../../../etc/passwrd ), siend respnsabilidad del integradr, implementar las medidas de seguridad aprpiadas. Es imprtante tener en cuenta que ls nmbres de ficher utilizads deben cumplir las restriccines del sistema de fichers dnde residan utdir e indir. Así, pr ejempl, en un sistema de fichers NTFS n deberíams nunca indicar un nmbre de fichers que cntuviese el carácter ds punts ( : ). 48

49 Cnfiguración en alta dispnibilidad cn varis nds Ls directris cnfigurads para el despliegue del servici trifásic (utdir e indir) deben ser siempre directris visibles y cmpartids pr tdas las instancias en ejecución. Este aspect es especialmente imprtante en cnfiguracines de servidres de aplicacines en alta dispnibilidad, dnde puede haber varis nds que presten el servici trifásic, cada un de ells en un sistema de fichers diferente, dnde sí se especifica una ruta lcal, puede que esta apunte a un directri distint en cada nd (distint servidr, disc diferente, tr sistema de fichers, etc.). El que tds ls nds accedan al mism directri referenciad en la cnfiguración se puede lgrar fácilmente usand un almacenamient cmpartid entre tds ells (cn el mism punt de mntaje), mediante enlaces simbólics, etc. Es imprtante también asegurarse de que tds ls nds tienen ls permiss adecuads sbre ls directris cnfigurads. 6.6 Firmas/Multifirmas masivas El puede utilizarse para la realización de múltiples firmas de tal frma que un usuari l perciba cm una única peración. Para ell basta que el integradr utilice ls métds de firma, cfirma y cntrafirma sbre tds ls dats que crrespnda. Para psibilitar que el usuari sól deba seleccinar el certificad de firma en una casión y n para peración individual, se deberá dejar prefijad este certificad mediante el métd: functin setstickysignatry (sticky); En esta función: sticky: Es un blean. Si se indica el valr true, el próxim certificad que seleccine el usuari (durante la próxima peración de firma/multifirma) quedará fijad y se utilizará para tdas las peracines psterires. Si se indica el valr false, se libera el certificad y se vlverá a slicitar al usuari en cada una de las siguientes peracines. Este métd n devuelve nada. Adicinalmente, para la generación de multifirmas dentr de un prcedimient masiv es interesante indicar el valr AUTO cm frmat de firma. Al hacerl, las cfirmas y cntrafirmas se realizarán en el mism frmat que la firma sbre la que se pera. El valr AUTO n es válid para firmas simples. 6.7 Gestión de fichers Ests sn métd rientads al guardad carga de fichers en disc. 49

50 6.7.1 Guardad de dats en disc El permite almacenar dats en el equip del usuari. Este métd es útil para almacenar dats generads cm parte de la peración del sistema las prpias firmas generadas pr el MiniApplet. El integradr puede seleccinar ls dats que desea almacenar, la prpuesta de nmbre para el ficher y trs parámetrs para el diálg de guardad. Sin embarg, será el usuari el únic que pdrá decidir dnde desea almacenar ls dats y qué nmbre tendrá el ficher. Ls dats guardads sn ls dats indicads en base64 ya descdificads. Es decir, si deseams almacenar el text SOY UN TEXTO A FIRMAR, cnvertirems este text a Base 64 cn l que btendríams la cadena U09ZIFVOIFRFWFRPIEEgRklSTUFS y se la pasaríams al métd de guardad. Si abrims el ficher resultante encntrarems que este cntiene la cadena SOY UN TEXTO A FIRMAR. La función JavaScript para el guardad de dats en disc es: functin savedatatfile(datab64, title, filename, extensin, descriptin); En esta función: datab64: Dats en frma de cadena en Base64 que deseams almacenar. Cmúnmente, est será el resultad de una peración de firma uns dats que se habrán prcesad previamente para cdificarls a este frmat. title: Títul del diálg de guardad. filename: Prpuesta de nmbre de ficher. extensin: Extensión de guardad prpuesta. Ls fichers visibles del diálg se filtrarán para sól visualizar ls que tienen esta extensión mientras esté seleccinada en el diálg. Un ejempl de extensión es: pdf descriptin: Descripción del tip de ficher que se va a almacenar. Esta descripción aparecerá asciada a la extensión indicada. Esta función devlverá true cuand ls dats queden guardads crrectamente. Si el usuari canceló la peración de guardad devlverá false y si se prduj algún errr durante la peración de guardad se lanzará una excepción Ejempls: A cntinuación se muestran distints ejempls relacinads cn el guardad de dats en disc: Guardad de una firma electrónica generada pr el MiniApplet: functin savedatacallback (datab64) { MiniApplet.saveDataTFile(dataB64, Guardar firma electrónica, firma.csig, csig, Firma binaria ); } 50

51 MiniApplet.cSign(dataB64, SHA1withRSA, CAdES, null, savedatacallback, errrcallback); Guardad de dats insertads pr el usuari: var text = dcument.getelementbyid( usertext ).value; var datab64 = MiniApplet.getBase64FrmText(text, aut ); MiniApplet.saveDataTFile(dataB64, Guardar, ficher.txt, txt, Text plan ); <!-- Fragment HTML cn un camp de text en dnde el usuari puede insertar el text que desea guardar --> <frm> <textarea name="usertext" cls="50" rws="5">aquí el usuari puede insertar el text que desee guardar</textarea> </frm> NOTA: Este métd guarda ls dats descdificads, n en base 64, pr l que en este ejempl se guardaría un ficher de text cn el text en clar insertad pr el usuari Selección de un ficher pr parte del usuari y recuperación de su nmbre y cntenid El permite que el usuari seleccine un ficher de su sistema lcal y recuperar del mism su nmbre y cntenid. Este métd ns permite cargar fichers para firmarls, multifirmarls u perar cn ells de cualquier tr md. La función JavaScript para el guardad de dats en disc es: functin getfilenamecntentbase64(title, extensins, descriptin, filepath); En esta función: title: Títul del diálg de selección. extensins: Listad de extensines de ficher permitidas. Estas aparecerán separadas pr una cma (, ) y sin espacis entre ellas. Pr ejempl: pdf,jpg,txt. El diálg sól mstrará ls fichers cn estas extensines, salv que el usuari establezca l cntrari en el diálg. descriptin: Descripción del tip de ficher que se espera cargar. Esta descripción aparecerá asciada a las extensines indicadas. filepath: Opcinal. Ruta absluta del ficher que se debería seleccinar pr defect sól el nmbre de ficher sugerid. Este métd devuelve el nmbre del ficher seleccinad seguid del cntenid del mism en base 64, separads pr el carácter. Si el usuari cancelase el diálg de selección de ficher 51

52 devlvería null y, en cas de prducirse un errr durante la peración de carga cnversión a base 64, se lanzaría una excepción. Pr ejempl, si se cargase el ficher entrada.txt que cntiene el text SOY UN TEXTO A FIRMAR, ( U09ZIFVOIFRFWFRPIEEgRklSTUFS si l cdificams en base 64) el métd devlvería el text entrada.txt U09ZIFVOIFRFWFRPIEEgRklSTUFS. Advertencia: El us de este métd hace que el despliegue del MiniApplet n sea cmpatible cn el Cliente Móvil. En su lugar, n indique ls dats que desea firmar, cfirmar cntrafirmar y el MiniApplet permitirá al usuari cargar un ficher de dats/firma sbre el que perar Ejempls: Carga de un ficher y recgida de su nmbre var filenamecntentb64; try { filenamecntentb64 = MiniApplet.getFileNameCntentBase64( Seleccinar ficher, jpg,gif,png, Imagen ); } catch (e) { return; } var filename = filenamecntentb64.substring(0, filenamecntentb64.indexof( )); Carga y firma de un ficher var filenamecntentb64; try { filenamecntentb64 = MiniApplet.getFileNameCntentBase64( Seleccinar ficher, pdf, Adbe PDF ); } catch (e) { return; } var separatridx = filenamecntentb64.indexof( ); var filename = filenamecntentb64.substring(0, separatridx); var datab64; if ((separatridx + 1) < filenamecntentb64.length) { datab64 = filenamecntentb64.substring(separatridx + 1); } else { /* El ficher n cntenía dats */ return; } MiniApplet.sign(dataB64, SHA1withRSA, CAdES, null, successcallback, errrcallback); Carga de un ficher cn ruta preseleccinada 52

53 var filenamecntentb64; try { filenamecntentb64 = MiniApplet.getFileNameCntentBase64( Seleccinar ficher, jpg,gif,png, Imagen, C:/pruebas/Entrada.png ); } catch (e) { return; } var filename = filenamecntentb64.substring(0, filenamecntentb64.indexof( )); Selección de múltiples fichers pr parte del usuari y recuperación de sus nmbres y cntenids El permite que el usuari seleccine una serie de fichers de su sistema lcal y recuperar el nmbre y cntenid de ls misms. Este métd ns permite cargar fichers para firmarls, multifirmarls u perar cn ells de cualquier tr md. La función JavaScript para el guardad de dats en disc es: functin getmultifilenamecntentbase64(title, extensins, descriptin, filepath); En esta función: title: Títul del diálg de selección. extensins: Listad de extensines de ficher permitidas. Estas aparecerán separadas pr una cma (, ) y sin espacis entre ellas. Pr ejempl: pdf,jpg,txt. El diálg sól mstrará ls fichers cn estas extensines, salv que el usuari establezca l cntrari en el diálg. descriptin: Descripción del tip de ficher que se espera cargar. Esta descripción aparecerá asciada a las extensines indicadas. filepath: Opcinal. Ruta absluta de un de ls fichers que se debería seleccinar pr defect sól el nmbre sugerid de un de ls fichers. Este métd devuelve un array de elements en dnde cada un de ells sigue el patrón: Nmbre Cntenid Est es, el nmbre del ficher y su cntenid en base 64 separads pr el carácter. Pr ejempl, si se seleccinasen ls fichers entrada.txt e imagen.jpg, se btendría un array cn ls elements: entrada.txt U09ZIFVOIFRFWFRPIEEgRklSTUFS imagen.jpg A1NSHA1NQW212ASYAN45YMD2MWQEI 53

54 Seguid del text entrada.txt y separad pr el carácter aparece el cntenid de ese ficher cnvertid a base 64 y seguid del text imagen.jpg y separad pr aparece el cntenid de ese tr ficher. Advertencia: El us de este métd hace que el despliegue del MiniApplet n sea cmpatible cn el Cliente Móvil. En su lugar, n indique ls dats que desea firma, cfirma cntrafirmar y el MiniApplet permitirá al usuari cargar un ficher de dats/firma sbre el que perar. N es psible la selección múltiple de fichers mediante este mecanism Ejempls: Carga de fichers y recgida de sus nmbres var filenamecntentb64array; try { filenamecntentb64array = MiniApplet.getMultiFileNameCntentBase64( Seleccinar múltiples ficher, jpg,gif,png, Imagen ); } catch (e) { /* Si el errr n se debe a la cancelación pr el usuari, l mstrams. */ if (! es.gb.afirma.cre.aocancelledoperatinexceptin.equals( MiniApplet.getErrrType())) { /* Métd del integradr para mstrar lgs */ shwlg(miniapplet.geterrrmessage()); } return; } var filenames = new Array(); fr (var i = 0; i < filenamecntentb64array.lenght; i++) { var separatridx = filenamecntentb64array[i].indexof( ); filenames[i] = filenamecntentb64array[i].substring(0, separatridx); } Carga y firma de fichers var filenamecntentb64; try { filenamecntentb64 = MiniApplet.getMultiFileNameCntentBase64( Seleccinar fichers, pdf, Adbe PDF ); } catch (e) { /* Si el errr n se debe a la cancelación pr el usuari, l mstrams. */ if (! es.gb.afirma.cre.aocancelledoperatinexceptin.equals( MiniApplet.getErrrType())) { /* Métd del integradr para mstrar lgs */ shwlg(miniapplet.geterrrmessage()); } return; } var separatridx1 = filenamecntentb64.indexof( ) + 1; 54

55 var separatridx2 = 0; var datab64; while (separatridx2 > -1 && separatridx1 > 0 && separatridx1 < filenamecntentb64.length) { separatridx2 = filenamecntentb64.indexof(, separatridx1); if (separatridx2 == -1) { datab64 = filenamecntentb64.substring(separatridx1); } else { datab64 = filenamecntentb64.substring(separatridx1, separatridx2); } MiniApplet.sign(dataB64, SHA1withRSA, CAdES, null, successcallback, errrcallback); } if (separatridx2 > -1) { separatridx1 = filenamecntentb64.indexof(, separatridx2 + 1) + 1; } 6.8 Utilidad Ec El MiniApplet dispne del métd ech() que devuelve la cadena: Java vendr: JAVA_VENDOR Java versin: JAVA_VERSION Java architecture: JAVA_ARCHITECTURE Llamarems a este métd de la frma: MiniApplet.ech(); La cadena devuelta pr el métd ech() cuand el MiniApplet se encuentra cargad muestra el fabricante de la máquina virtual, la versión de java que se ejecuta y su arquitectura. Esta misma infrmación se imprime en la cnsla Java al ejecutar el métd precedida pr el mensaje: MiniApplet cargad y en ejecución El principal prpósit de este métd es que ls integradres puedan llamarl para cmprbar si el Applet está crrectamente cargad y cmprbar la versión de Java instalada. En cas cntrari, fallará su ejecución. Cuand el métd se invca desde un entrn en el que n se pueden ejecutar applets, cm en un dispsitiv móvil, cuand n se hayan cncedid ls permiss para la ejecución del applet, el text devuelt pr la función será: Cliente JavaScript 55

56 6.8.2 Obtención de ls mensajes de errr Cuand un métd del MiniApplet falla en su ejecución lanza una excepción y almacena el mensaje que describe el errr. El integradr puede acceder a este mensaje e identificar el tip de errr mstrársel al usuari. La función JavaScript para recuperar el mensaje de errr prducid pr la aplicación es: functin geterrrmessage(); Este métd devuelve el mensaje de errr antecedid pr el nmbre cualificad de la excepción que l prduj. Para ver ejempls del us de este métd y la gestión de errres del MiniApplet, cnsulte el apartad Gestión de errres Cnversión de una cadena Base64 a text El prprcina un métd para la cnversión de una cadena Base64 a un text plan cn una cdificación cncreta. Este métd permite mstrar al usuari en text plan infrmación que se psea Base64. Cass en ls que puede ser necesari est sn cuand se carga el cntenid de un ficher de text plan desde disc pr medi de algun de ls métds de carga cuand ls dats sn el resultad de una firma XML, pr ejempl. La función JavaScript para recuperar el text plan crrespndiente a la cadena en Base64 es: functin gettextfrmbase64(datab64, charset); En esta función: datab64: Sn ls dats Base64 que se quieren mstrar cm text plan. charset: Es el jueg de caracteres que se debe utilizar para la cnversión. Ls más cmunes sn utf-8, is e is Si se desea utilizar el jueg de caracteres pr defect, indique default pase un valr nul. Este valr pr defect es dependiente del entrn perativ (sistema perativ y navegadr Web), pr l que n se recmienda su us. Si desea que se intente detectar el jueg de caracteres autmáticamente, indique aut. Este métd devuelve una cadena cn el text plan crrespndiente Ejempls Cnversión de una firma XML generada previamente functin shwcallback (signatureb64) { var text = MiniApplet.getTextFrmBase64(xmlSignB64, utf-8 ); 56

57 } alert(text); MiniApplet.sign(dataB64, SHA1withRSA, XAdES, frmat=xades Envelped, shwtextcallback, errrcallback); Cnversión de un text a cadena Base64 El prprcina un métd para la cnversión de un text plan cn una cdificación cncreta a una cadena Base64. Este métd permite pasar al métd de firma un text insertad pr el usuari, pr ejempl. La función JavaScript para cnvertir de text plan a Base64 es: functin getbase64frmtext(plainttext, charset); En esta función: plaintext: Es el text plan que se desea cnvertir a Base64. charset: Es el jueg de caracteres del text plan. Ls más cmunes sn utf-8, is e is Si se desea utilizar el jueg de caracteres pr defect, indique default pase un valr nul. Este valr pr defect es dependiente del entrn perativ (sistema perativ y navegadr Web), pr l que n se recmienda su us. Si desea que se intente detectar el jueg de caracteres autmáticamente, indique aut. Este métd devuelve una cadena Base64 que es la cdificación del text plan indicad Ejempls Firma de un text insertad pr el usuari var text = Hla Mund!! ; var datab64 = MiniApplet.getBase64FrmText(text, utf-8 ); MiniApplet.sign(dataB64, SHA1withRSA, CAdES, null, successcallback, errrcallback); 57

58 7 Cnfiguración de las peracines 7.1 Pas de parámetrs adicinales a ls métds de firma, cfirma y cntrafirma Una peculiaridad del us del API del MiniApplet desde JavaScript es que, para mejrar la fiabilidad, tds ls pass de valres de parámetrs se realizan mediante cadenas de text (ls dats binaris se cdifican en Base64 para pder transmitirls cm texts), per en ls métds de firma, cfirma y cntrafirma se acepta un tip de parámetr (usualmente denminada params) que es una representación textual de una clección de prpiedades Java (Prperties). Las prpiedades establecidas mediante params tienen distintas utilidades según el frmat de firma utilizad (indicar una variante del frmat, especificar una plítica de firma, etc.), per siempre siguen el mism frmat: nmbreparam1=valrparam1 nmbreparam2=valrparam2 Y desde JavaScript deben cncatenarse cada una de las líneas usand el carácter especial de nueva línea (\n) cm separadr: var params= nmbreparam1=valrparam1\nnmbreparam2= valrparam2 ; Es imprtante respetar el nmbre riginal de las prpiedades ya que puede existir diferenciación entre mayúsculas y minúsculas. Cnsulte la dcumentación JavaDc de cada frmat de firma para más infrmación sbre ls parámetrs aceptads pr cada un de ells Parámetrs adicinales n sprtads Revise cn cuidad ls parámetrs admitids en cada un de ls frmats de firma y en cada una de las peracines. Si se cnfigura un parámetr n sprtad simplemente será ignrad sin ningún mensaje de errr en registr. 7.2 Selección autmática de certificads Para aquells cass en ls que sól exista un certificad en el almacén de certificads al que se acceda cuand se descarten certificads y sól haya un que es psible seleccinar, es psible indicar al MiniApplet que l seleccine autmáticamente en lugar de mstrar al usuari el diálg de selección cn este únic certificad. Est pdems cnfigurarl mediante la prpiedad headless. Si agregams a la lista de prpiedades que cnfiguran las peracines de firma, cfirma y cntrafirma el parámetr headless cn el valr true, el diálg de selección n se mstrará al usuari cuand sól haya un certificad dispnible. En su lugar, se seleccinará autmáticamente 58

59 este certificad y se cntinuará cn la peración. La línea que debería agregarse a la cnfiguración es, pr tant: headless=true Pr defect, si n se establece la prpiedad headless se indica un valr distint de true, se mstrará el diálg de selección de certificads aun cuand sól haya un certificad para seleccinar. Para saber cóm establecer la prpiedad headless en las peracines de firma cnsulte el apartad Pas de parámetrs adicinales a ls métds de firma, cfirma y cntrafirma. 7.3 Cnfiguración del filtr de certificads El dispne de filtrs de certificads que se pueden aplicar para restringir ls certificads que pdrá seleccinar el usuari para realizar una peración de firma multifirma. Ls filtrs de certificads se pueden establecer cm parámetrs adicinales en las peracines de firma, cfirma y cntrafirma. Las claves que ns permiten establecer filtrs de certificads sn: filter: Esta clave permite establecer un y sól un de ls filtrs de certificads que se listan más adelante en este apartad. Pr ejempl: filter=nnexpired: Certificads n caducads filters: Esta clave permite establecer un más de ls filtrs de certificads que se listan más adelante en este apartad. Ls certificads deberán cumplir las cndicines establecidas en tds ls certificads listads, de l cntrari n se mstrarán. Ls distints filtrs se deben separar mediante el carácter punt y cma ( ; ). Ejempls: filters=nnexpired: Certificads n caducads filters=issuer.rfc2254: (O=DIRECCION GENERAL DE LA POLICIA);keyusage.nnrepudiatin:true Certificads de firma del DNIe filters=issuer.rfc2254: (O=DIRECCION GENERAL DE LA POLICIA);keyusage.nnrepudiatin:true;nnexpired: Certificads de firma del DNIe n caducads. filters.x: En esta clave X será un enter igual mayr que 1. El MiniApplet leerá la clave filters.1, a cntinuación filters.2 y así hasta que n encuentre una de las claves de la secuencia. Al cntrari que cn la clave filters, basta cn que el certificad cumpla un de ests filtrs para que se muestre. N es necesari cumplirls tds. Cada un de estas 59

60 claves puede declarar varis filtrs separads pr punt y cma ( ; ) de tal frma que sí se deberán cumplir tds ells para satisfacer ese subfiltr cncret. Ejempl: filters.1=issuer.rfc2254:(o=direccion GENERAL DE LA POLICIA);keyusage.nnrepudiatin:true filters.2=issuer.rfc2254:(o=fnmt) La cnjunción de estas ds claves en una peración de firma hará que sól se muestren al usuari ls certificads CERES y el de firma del DNIe. Estas tres claves de definición de filtrs sn excluyentes y tienen la priridad según la que se listan (filter, filters y filters.x). Es decir, si se establece la prpiedad filter, n se prcesarán las prpiedades filters y filters.1, pr ejempl. Ls filtrs dispnibles en el MiniApplet sn: Filtr DNIe: Filtra ls certificads del almacén para que sól se muestren ls certificads de firma de ls DNIe dispnibles desde ese almacén. Para establecer este filtr de certificads se indicará la prpiedad filter cn el valr dnie: en el parámetr de cnfiguración de la peración de firma, cfirma cntrafirma. Ejempl: filter=dnie: Filtr de certificads de firma: Filtra ls certificads del almacén para que n se muestren ls cnsiderads certificads de autenticación. Esta exclusión n se realiza mediante KeyUsage para evitar que queden excluids certificads mal identificads. Un ejempl de certificad que n se mstrará en el diálg es el de autenticación del DNIe. Para establecer este filtr de certificads se indicará la prpiedad filter cn el valr signingcert: en el parámetr de cnfiguración de la peración de firma, cfirma cntrafirma. Ejempl: filter=signingcert: Filtr de certificads de autenticación: Filtra ls certificads del almacén para que n se muestren ls específics para firma avanzada recncida. Esta exclusión n se realiza mediante KeyUsage para evitar que queden excluids certificads mal identificads. Un ejempl de certificad que n se mstrará en el diálg es el de firma del DNIe. Para establecer este filtr de certificads se indicará la prpiedad filter cn el valr authcert: en el parámetr de cnfiguración de la peración de firma, cfirma cntrafirma. Ejempl: filter=authcert: 60

61 Filtr de certificads SSCD: Filtra ls certificads del almacén para que se muestren sól aquells emitids pr medi de un dispsitiv SSCD (dispsitiv segur de creación de firma), cm es el cas de ls certificads del DNIe. Hay que tener en cuenta que el filtrad se realiza a partir de un atribut QCStatement declarad en el prpi certificad. Si la autridad de certificación n incluye este atribut, n será psible realizar la distinción. Para establecer este filtr de certificads se indicará la prpiedad filter cn el valr sscd: en el parámetr de cnfiguración de la peración de firma, cfirma cntrafirma. Ejempl: filter=sscd: Filtr SSL: Filtra ls certificads del almacén para que sól se muestre aquells cn un númer de serie cncret (cmúnmente sól será un). Existe un cas especial. Si el númer de serie resulta ser de un certificad de autenticación de un DNIe, se mstrará en su lugar el certificad de firma de ese mism DNIe. Para establecer este filtr de certificads se indicará la prpiedad filter cn el valr ssl:, seguid pr el númer de serie del certificad, en el parámetr de cnfiguración de la peración de firma, cfirma cntrafirma. Est es: filter=ssl:nº_serie. El númer de serie se debe indicar en hexadecimal: Ejempls: filter=ssl:45553a61 filter=ssl:03ea Filtr de certificads cualificads de firma: Filtra ls certificads del almacén para que sól se muestre aquells cn un númer de serie cncret (cmúnmente sól será un). En el cas de que este certificad n esté cualificad para firma, se buscará un certificad parej que sí l esté en el almacén. Si se encntrase se seleccinaría este nuev certificad y, si n, se seleccinará el certificad al que crrespnde el númer de serie. Para establecer este filtr de certificads se indicará la prpiedad filter cn el valr qualified:, seguid pr el númer de serie del certificad, en el parámetr de cnfiguración de la peración de firma, cfirma cntrafirma. Est es: filter=qualified:nº_serie. El númer de serie se debe indicar en hexadecimal: Ejempls: filter=qualified:45553a61 filter=qualified:03ea Filtr de certificads caducads: Filtra aquells certificads que se encuentran fuera de su perid de validez para que sól se muestren ls certificads vigentes, que sn ls únics que pueden generar una firma válida. Para establecer este filtr se usará la palabra clave nnexpired: Ejempl: filter=nnexpired: 61

62 Filtr pr huella digital (Thumbprint): Filtra ls certificads de tal frma que sól se mstrará aquel que tenga la huella digital indicada. Hay que tener en cuenta que esta huella digital n debe calcularse en base a un ficher (pr ejempl, un.cer ), sin que es la huella digital de la cdificación del certificad. Para establecer este filtr se usará la palabra clave thumbprint:, seguida del algritm de huella digital utilizad y, separad pr el carácter ds punts ( : ) la huella digital que se busque en hexadecimal. Ejempl: filter=thumbprint:sha1:30 3a bb a fd d7 c5 a2 52 dc a5 54 f4 c5 ee 8a a5 4d Este filtr sól mstrará el certificad cuya huella digital en SHA1 sea la indicada. Filtr RFC2254 en base al Subject del certificad: Filtra ls certificads a partir de una expresión regular creada según la RFC2254 que se aplica sbre el Subject del certificad. Para establecer este filtr se usará el valr subject.rfc2254: seguid de la expresión RFC2254. Puede revisarse la nrmativa RFC 2254 en Ejempl: filter=subject.rfc2254:(cn=* z*) Este filtr mstrará sól aquells certificads en ls que aparezca la cadena z en el CmmnName de su Subject. Filtr RFC2254 en base al Issuer del certificad: Filtra ls certificads a partir de una expresión regular creada según la RFC2254 que se aplica sbre el Issuer del certificad. Para establecer este filtr se usará el valr issuer.rfc2254: seguid de la expresión RFC2254. Puede revisarse la nrmativa RFC 2254 en Ejempl: filter=issuer.rfc2254:( (O=FNMT)(O=DIRECCION GENERAL DE LA POLICIA)) Este filtr mstrará sól aquells certificads cuy Issuer tenga establecid cm rganización FNMT DIRECCION GENERAL DE LA POLICIA, es decir, sól mstrará ls certificads del DNIe y ls de CERES. Filtr de text en base al Subject del certificad: Filtra ls certificads según si cntienen n una cadena de text en el Principal de su Subject. Para establecer este filtr se usará el valr subject.cntains: seguid de la cadena de text que debe cntener. Ejempl: filter=subject.cntains:juan ESPAÑOL ESPAÑOL 62

63 Este filtr mstrará sól aquells certificads en ls que aparezca la cadena JUAN ESPAÑOL ESPAÑOL en el Subject. Filtr de text en base al Issuer del certificad: Filtra ls certificads según si cntienen n una cadena de text en el Principal de su Issuer. Para establecer este filtr se usará el valr issuer.cntains: seguid de la cadena de text que debe cntener. Ejempl: filter=issuer.cntains:o=empresa Este filtr mstrará sól aquells certificads en ls que el Principal del Issuer muestre el text O=EMPRESA. Filtrs pr us declarad de ls certificads (KeyUsage): Clección de filtrs que permiten filtrar según el us declarad de ls certificads. Para establecer ests filtrs usarems las siguientes claves según ls uss que se quieran cmprbar. Las claves irán seguidas de ls valres true false, según se desee que el us esté habilitad n l esté, respectivamente: keyusage.digitalsignature: keyusage.nnrepudiatin: keyusage.keyencipherment: keyusage.dataencipherment: keyusage.keyagreement: keyusage.keycertsign: keyusage.crlsign: keyusage.enciphernly: keyusage.deciphernly: Ls KeyUsages que n se declaren en el filtr n se tendrán en cuenta. Ejempls: filters=keyusage.digitalsignature:true;keyusage. keyencipherment:true Este filtr mstrará sól aquells certificads que tengan establecids a true ls KeyUsage digitalsignature (autenticación) y keyencipherment (sbres electrónics), ignrand el valr del rest de KeyUsages. Este filtr mstrará, pr ejempl, ls certificads de la FNMT. filters=keyusage.nnrepudiatin:true Este filtr mstrará sól aquells certificads que tengan establecids a true el nnrepudiatin (firma avanzada). Este filtr mstrará, pr ejempl, el certificad de firma del DNIe. Se ignrará cualquier valr establecid cm filtr de certificads distint a ls que se han listad. 63

64 Si ningún certificad cumple ls criteris de filtrad, se lanzará una excepción indicand que n se ha encntrad ningún certificad que cumpla cn ls criteris indicads y se cancelará la peración. Si más de un certificad cumple ls criteris de filtrad, se mstrarán tds ells en el diálg de selección de certificads. Si tan sól un certificad cumple cn las cndicines de ls filtrs establecids y se ha cnfigurad la pción headless en las prpiedades adicinales de la peración, se seleccinará autmáticamente ese certificad sin mstrar el diálg de selección al usuari. Cnsulte el apartad Selección autmática de certificads para cncer cóm cnfigurar la prpiedad headless. Para saber cóm establecer la cnfiguración de ls filtrs de certificads en las peracines de firma cnsulte el apartad Pas de parámetrs adicinales a ls métds de firma, cfirma y cntrafirma. 7.4 Cnfiguración de la plítica de firma Cnfiguración manual La plítica de firma de una firma electrónica identifica diverss criteris que se han cumplid durante la cnstrucción de esta firma requisits que cumple la prpia firma. Esta plítica de una firma electrónica se identifica mediante varis atributs declarads en la firma. Tds ls frmats avanzads de firma (CAdES y XAdES) tienen una variante EPES (Explicit Pliyc-based Electrnic Signature) que declaran ls atributs crrespndientes a la plítica de firma. El permite la generación de firmas EPES (CAdES-EPES y XAdES-EPES) para l cual es necesari indicar las prpiedades de la plítica en el métd de firma que se vaya a utilizar. Cnsulte el apartad específic de cnfiguración del frmat de firma que desee utilizar para cncer las prpiedades dispnibles para la cnfiguración de la plítica de firma. Para saber cóm establecer estas las prpiedades de firma, cnsulte el apartad Pas de parámetrs adicinales a ls métds de firma, cfirma y cntrafirma. Tenga en cuenta que el que una firma incluya ls atributs crrespndientes a una plítica de firma cncreta n significa que cumpla ls criteris de la plítica. Si desea que sus firmas se ajusten a una plítica de firma lea las restriccines impuestas pr esa plítica y genere firmas acrde a ella antes de cnfigurarla. De esta frma, pdrá asegurarse de que sus firmas sn cmpatibles cn trs sistemas y entrns en ls que se utilicen firmas acrde a la plítica en cuestión Plítica de firma de la AGE v1.9 En el se ha incluid un mecanism para la cnfiguración rápida y sencilla de la plítica de firma de la Administración General del Estad (AGE) v1.9. Para cnfigurar esta plítica 64

65 cncreta basta cn indicar la siguiente prpiedad en la peración de firma, cfirma cntrafirma, cuand se utilice un frmat avanzad de firma (CAdES, XAdES PAdES). expplicy=firmaage Esta prpiedad se expandirá a las necesarias para el cumplimient de la plítica de firma de la AGE, l que equivale a intrducir las prpiedades manualmente. IMPORTANTE: El parámetr expplicy funcina únicamente en el MiniApplet y n en la aplicación AutFirma, pr l que n se generarán firmas EPES en invcación pr prtcl indicand ese parámetr. Pr ell, y hasta que se subsane esta deficiencia, se recmienda cnfigurar manualmente la Plítica de Firma de la AGE cn sus parámetrs, que sn ls siguientes: CAdES XAdES PAdES plicyidentifier= plicyidentifierhash= G7rucf600+f03r/0bAOQ6WAs0= plicyidentifierhashalgrithm= plicyqualifier=https://sede.060.gb.es/plitica_de_firma_anex_1.pdf mde=implicit plicyidentifier=urn:id: plicyidentifierhash=g7rucf600+f03r/0baoq6was0= plicyidentifierhashalgrithm=http://www.w3.rg/2000/09/xmldsig#sha1 plicyqualifier=https://sede.060.gb.es/plitica_de_firma_anex_1.pdf frmat=xades Detached plicyidentifier= plicyidentifierhash= G7rucf600+f03r/0bAOQ6WAs0= plicyidentifierhashalgrithm=http://www.w3.rg/2000/09/xmldsig#sha1 plicyqualifier=https://sede.060.gb.es/plitica_de_firma_anex_1.pdf La prpiedad frmat, sól se aplicará cuand el frmat de firma sea XAdES. La prpiedad mde, sól se aplicará cuand el frmat de firma sea CAdES y ls dats cupen mens de 1 MB. Cn tamañs mayres de dats n se incluirán ests en las firmas. Si se cnfigura para la peración alguna prpiedad individual que entre en cnflict cn la plítica indicada (pr ejempl, indicand un frmat prhibid pr esta), se ignrará esa prpiedad individual y prevalecerá el valr impuest pr la plítica. Pr ejempl, si se cnfigurasen las prpiedades expplicy=firmaage y frmat=xades Envelping, para una peración de firma cn frmat XAdES, se generaría una firma XAdES Detached cn la plítica de firma de la AGE establecida. Es decir, se ignraría que se estableció la prpiedad frmat=xades Envelping. Para saber cóm cnfigurar prpiedades en las peracines de firma, cnsulte el apartad Pas de parámetrs adicinales a ls métds de firma, cfirma y cntrafirma. 65

66 Para más infrmación sbre la plítica de firma de la AGE puede cnsultar la guía de implementación de la plítica que está en el área de descargas de la iniciativa Plítica de firma de la AGE en Plítica de firma de la AGE v1.8 En el se ha incluid también el mecanism para usar la plítica de firma versión 1.8 de la AGE. Este mecanism actúa exactamente igual que el de la plítica 1.9 salv prque: La plítica de firma 1.8 de la AGE n está preparada para el frmat de firma PAdES. El parámetr a cnfigurar es: expplicy=firmaage18 Esta prpiedad se expandirá a las necesarias para el cumplimient de la plítica de firma de la AGE según la plítica 1.8. IMPORTANTE: El parámetr expplicy funcina únicamente en el MiniApplet y n en la aplicación AutFirma, pr l que n se generarán firmas EPES en invcación pr prtcl indicand ese parámetr. Pr ell, y hasta que se subsane esta deficiencia, se recmienda cnfigurar manualmente la Plítica de Firma de la AGE cn sus parámetrs, que sn ls siguientes: CAdES XAdES plicyidentifier= plicyidentifierhash=7sxx3erfuh31tvaw9lz70n7p1va= plicyidentifierhashalgrithm= plicyqualifier=http://administracinelectrnica.gb.es/es/ctt/pliti cafirma/plitica_firma_age_v1_8.pdf mde=implicit plicyidentifier=urn:id: plicyidentifierhash=v8lvvngdcpen6velrd1ja8harfk= plicyidentifierhashalgrithm=http://www.w3.rg/2000/09/xmldsig#sha1 plicyqualifier=http://administracinelectrnica.gb.es/es/ctt/pliti cafirma/plitica_firma_age_v1_8.pdf frmat=xades Detached mde=implicit Debe evitarse en la medida de l psible el us de versines de la plítica de la AGE anterires a la Plítica de firma de Factura electrónica (Facturae) Para la firma de facturas electrónicas se deberá utilizar siempre el frmat FacturaE. Este frmat cnfigura autmáticamente las prpiedades necesarias para la firma de facturas electrónicas, incluida la plítica de firma. Las firmas generadas siempre sn según la especificación 3.1 de factura electrónica. 66

67 Para saber cóm cnfigurar prpiedades en las peracines de firma, cnsulte el apartad Pas de parámetrs adicinales a ls métds de firma, cfirma y cntrafirma. 7.5 Cnfiguración de parámetrs de la JVM El JavaScript de despliegue permite establecer prpiedades que se le prprcinarán directamente a la máquina virtual para su cnfiguración. Est se hará mediante la prpiedad: MiniApplet.JAVA_ARGUMENTS Actualmente, esta variable está cnfigurada cn ls valres -Xms512M -Xmx512M que gestinan la memria reservada para la JVM. Ests valres se pueden suprimir estableciend trs, anexar nuevs valres: // Se pisan ls valres existentes cn nuevas prpiedades para la JVM MiniApplet.JAVA_ARGUMENTS = "-XX:ErrrFile=./hs_err_pid%p.lg ";... // Se agregan nuevas prpiedades para la JVM MiniApplet.JAVA_ARGUMENTS += "-Xms512M -Xmx1024M "; Para evitar que las variables se cncatenen erróneamente, debe dejarse una espaci al final de la cadena. 7.6 Cnfiguración a través de prpiedades del sistema El JavaScript de despliegue del MiniApplet permite establecer una serie de variables que serán usadas cm prpiedades del sistema en tiemp de ejecución. Estas variables permiten cnfigurar cmprtamients específics del MiniApplet. Para establecer estas variables, las asignarems separadas pr espacis a la prpiedad: MiniApplet.SYSTEM_PROPERTIES El nmbre de las variables deben ir antecedid pr -D y tener la frma clave=valr. Pr ejempl: MiniApplet.SYSTEM_PROPERTIES = "-DAFIRMA_NSS_HOME=C:/Prgram Files/Mzilla Firefx "; Estas variables sl tienen efect si es establecen antes de la carga del MiniApplet, si sn establecidas cn psteriridad se ignran pr cmplet. 8 Gestión de errres La gestión de errres del MiniApplet se basa en el sistema de captura de excepcines desde JavaScript, prpagadas desde Java. Ls métds del applet lanzan excepcines cuand se prduce 67

68 algún errr durante su ejecución, y es psible capturar estas excepcines desde JavaScript y ver su tip y descripción gracias a ls métds del MiniApplet. Ests métds sn: geterrrtype(): Devuelve el nmbre cualificad de la clase de excepción. Alguns ejempls sn: java.i.filentfundexceptin: Lanzada cuand n se encuentra el ficher seleccinad pr el usuari. es.gb.afirma.keystres.cmmn.aocertificatesntfundexceptin: Lanzada cuand n hay certificads en el almacén ningun pasa el filtr establecid. es.gb.afirma.cre.aocancelledoperatinexceptin: Cuand el usuari ha cancelad algun de ls diálgs que se le mstró durante la peración (selección de ficher, selección de certificad, inserción de cntraseña). geterrrmessage(): Devuelve el mensaje asciad al errr que se ha prducid. Alguns ejempls sn: El sistema n puede encntrar el archiv especificad El almacen n cntenia entradas validas Operación cancelada pr el usuari Ests mensajes n están internacinalizads (siempre se muestran en castellan) y n cntienen caracteres especiales (cm las tildes españlas). Es recmendable, que el integradr identifique el tip de errres que puede prducir su despliegue y, cuand ls detecte cn geterrrtype() actúe cm crrespnda mstrand un mensaje persnalizad si fuese necesari. A cntinuación se muestra un ejempl simple de gestión de errres en el MiniApplet mediante JavaScript: functin firmar() { } var signature; try { sign( Hla, SHA1withRSA, CAdES, null, savedatacallback, errrcallback); } catch(e) { alert( Se prduj un errr al ejecutar la peración de firma ); return; } functin savesignaturecallback (signature) try { MiniApplet.saveDataTFile(signature, Guardar firma, firma.csig, null, null); } catch(e) { alert( Se prduj un errr al ejecutar la peración de firma ); return; 68

69 } } Una frma de cmpletar el ejempl anterir sería mstrar al usuari más infrmación acerca de la naturaleza del errr, de frma que pueda intentar subsanarl: functin shwerrrcallback (errrtype, errrmessage) { if (errrtype().equals( java.i.filentfundexceptin )) { alert( Errr: N se ha seleccinad un ficher de dats válid ); } else if (errrtype().equals( es.gb.afirma.keystres.cmmn.aocertificatesntfundexceptin ) { alert( Errr: N se ha encntrad ningún certificad de firma válid ); } else { alert( Errr: Se prduj un errr durante la peración de firma ); } } var signature; try { MiniApplet.sign( Hla, SHA1withRSA, CAdES, null, sucesscallback, shwerrrcallback); } catch(e) { shwerrrcallback(miniapplet.geterrrtype(), MiniApplet.getErrrMessage()); } Revise la dcumentación JavaDc de cada métd del MiniApplet para cmprbar que excepcines puede lanzar y el mtiv de las mismas. Cualquier tra excepción n cntemplada en la dcumentación JavaDc se cnsidera un errr prpi de la aplicación. Cuand el cmprtamient de la herramienta difiera según el tip de errr, gestine siempre mediante la cláusula else ls errres n dcumentads. 69

70 9 Cmpatibilidad cn dispsitivs móviles y AutFirma Ls navegadres Web de ls dispsitivs móviles n admiten cmplements capaces de realizar firmas electrónicas (Applets de Java, ActiveX, etc.), pr l que es necesari implementar trs mecanisms para suplir esta carencia. En el cas del, se han desarrllad aplicacines nativas para sistemas móviles que, de frma transparente para el integradr, sustituirán al MiniApplet y realizarán las peracines del firma. Actualmente, existen versines publicadas del Móvil para sistemas Andrid 4 e ios. De igual manera, Ggle Chrme ya n sprta Applets de Java pr defect. Para mantener la cmpatibilidad cn este navegadr, debe usarse el mism mecanism que se usa en las aplicacines móviles, en dnde la aplicación nativa que sustituirá al MiniApplet será AutFirma. El usuari deberá tener instaladr la aplicación móvil del AutFirma, según su entrn, antes de iniciar la peración de firma. Es respnsabilidad del integradr infrmar al usuari de esta necesidad antes de iniciar el prces de firma (para evitar que inicie el trámite si n se tiene instalad). N hay ninguna función para que el integradr pueda determinar si el usuari tiene instalada n la aplicación AutFirma. 9.1 Arquitectura del sistema Dad que ls sistemas móviles impnen limitacines en la cmunicación que puede establecerse entre el navegadr web y una aplicación nativa, ha sid necesari idear una arquitectura de cmunicación que permita el traspas bidireccinal de infrmación entre la aplicación nativa y la página web. La arquitectura es la siguiente: 70

71 1. Cuand detecta que está en un dispsitiv móvil n se puede cargar el (navegadr n cmpatible, n se tiene Java instalad, el usuari n di permiss a la JVM), en lugar de cargar el Applet, el navegadr web realiza una llamada pr prtcl a la aplicación nativa (previamente instalada) pasándle ls dats necesaris para ejecutar la peración designada. 2. La aplicación nativa realiza la peración en base a la cnfiguración prprcinada. 3. La aplicación nativa envía el resultad de la peración a un servidr remt del integradr pr medi de un servici publicad en el mism. Ls dats, sean cuales sean (la firma, mensaje de éxit, mensaje de errr,), se envían cifrads. 4. La página web descarga y brra el resultad de la peración del servidr pr medi de tr servici web distint al de guardad. La página descifra el cntenid y cntinúa cn el fluj de peración determinad pr el integradr. 9.2 Despliegues cmpatibles Para que nuestrs despliegues del MiniApplet sean cmpatibles cn ls nativs, de tal frma que las firmas se realicen mediante ests cuand el entrn de ejecución n permita la ejecución de Applets, deberems seguir las siguientes pautas: Desplegar el MiniApplet mediante la bibliteca JavaScript miniapplet.js que se distribuye junt a él. Aunque el MiniApplet puede desplegarse cm un Applet nrmal y crriente, tda la lógica que se encarga de ejecutar el móvil cuand n es psible ejecutar Applets y prcesa las rdenes al Applet se encuentra en esta bibliteca. El cóm se despliega el MiniApplet cn esta bibliteca se explica en el apartad, y si 71

72 se desea alterar este cmprtamient será necesari subsanar el prblema eliminand tds ls fichers parent.lck lck de tds ls directris de perfil estand Firefx detenid. Despliegue del. Establecer las rutas de ls servicis auxiliares. La falta de un canal de cmunicación bidireccinal entre el navegadr web y el móvil AutFirma, al cntrari de l que curre entre el navegadr web y un Applet, bliga a cnstruir una arquitectura de cmunicación basada en 2 servicis encargads de enviar y recger mensajes, respectivamente. Para que el navegadr y el móvil hagan us de este canal se deberán cnfigurar la URL en la que se encuentran ests servicis. La cnfiguración de las URL de ls servicis de cmunicación se realizará mediante el métd: setservlets(urlservletenvi, urlservletrecepcin) La llamada a este métd se deberá realizar inmediatamente después de la sentencia de carga del MiniApplet. Esta sentencia es incua para el MiniApplet. Ls servicis sól se usarán en cas de que se cargue la aplicación nativa. Un ejempl de us de esta llamada es: <script type="text/javascript"> MiniApplet.cargarMiniApplet( ); MiniApplet.setServlets( ); </script> Simplificar la perativa. El Móvil n implementa tdavía alguns de ls métds y funcinalidades del MiniApplet. Pr l que cnviene n utilizar ests métds si n es necesari y buscar alternativas cmpatibles. Cnsulte el apartad Limitacines funcinales para cncer ls métds que n implementa el móvil. 9.3 Servicis auxiliares del móvil Junt al MiniApplet se distribuyen 2 Servlets de Java que permiten el guardad y la recgida de dats en servidr para la cmpatibilidad cn el móvil. Ests Servlet sn: 72

73 SignatureStrageServer: Este Servlet permite almacenar dats en un directri del servidr. Ls dats se almacenan cn un identificadr. SignatureRetrieverServer: Este Servlet permite recuperar dats de un servidr a partir de un identificadr. Tras devlver ls dats, el servici brra el ficher tempral en dnde se almacenaban. Este servici nunca devlverá dats que se guardasen hace más de un tiemp máxim cnfigurad, devlviend errr tal cm si n hubiese encntrad el ficher de dats. Igualmente, brrará tds aquells fichers del directri tempral que hayan sbrepasad este tiemp máxim desde su creación. Ambs servicis se pueden cnfigurar mediante el ficher de prpiedades cnfiguratin.prperties, cntenid pr ambs. En este ficher pdrems cnfigurar las siguientes variables: tmpdir: Es el directri del servidr en dnde se almacenarán ls dats temprales. Debe cntener el mism valr en ls servicis de guardad y recgida de dats. El administradr del sistema puede determinar que sól ests servicis tengan permis de lectura y escritura en él. Si n se cnfigura esta prpiedad, se usará el directri tempral del servidr. exptime: Es el tiemp de caducidad en milisegunds de ls fichers del directri. Esta prpiedad sól se establece para el servici de recuperación de dats. Una vez superad ese tiemp desde la creación del ficher, el servici de recuperación se negará a devlverl y l eliminará. El valr pr defect establecid es (1 minut) Ests servicis de guardad y recuperación se distribuyen en frma de WAR y sn independientes del sftware servidr de aplicacines que se utilice. Cnsulte la dcumentación de su sftware servidr de aplicacines para saber más acerca de cóm desplegarls. El integradr puede sustituir ests Servlets pr trs realizads pr él mism siempre y cuand mantenga la interfaz de cmunicación. De esta frma, pr ejempl, pdría crear Servlets que almacenasen ls dats en base de dats ls insertase en un bus tempral de dats Ntas sbre ls servicis de almacenaje y recuperación La cnexión entre ls servicis de almacenaje (SignatureStrageServer) y ls de recuperación (SignatureRetrieverServer) se hace mediante sistema de fichers, cmpartiend una simple carpeta tempral, definida en ambs mediante la variable tmpdir, variable que debe siempre apuntar a directris visibles y cmpartids pr tdas las instancias en ejecución. Este aspect es especialmente imprtante en cnfiguracines de servidres de aplicacines en alta dispnibilidad, dnde puede haber varis nds que presten el servici trifásic, cada un de ells en un sistema de fichers diferente, dnde sí se especifica una ruta lcal, puede que esta apunte a un directri distint en cada nd (distint servidr, disc diferente, tr sistema de fichers, etc.). 73

74 El que tds ls nds accedan al mism directri referenciad en la cnfiguración se puede lgrar fácilmente usand un almacenamient cmpartid entre tds ells (cn el mism punt de mntaje), mediante enlaces simbólics, etc. Es imprtante también asegurarse de que tds ls nds tienen ls permiss adecuads sbre ls directris cnfigurads Cnsideracines de seguridad Un psible ataque de denegación de servici sbre este sistema de almacenaje tempral es simplemente hacer muchas peticines de almacenaje hasta que se alcance la capacidad ttal del sistema de fichers. Ls servicis prprcinads n incrpran ninguna medida cntra ests ataques, pr l que debe ser el integradr el que las implemente. Algunas de estas medidas pdrían ser: Establecer cutas de disc para el directri cnfigurad en tmpdir. Detectar (y prevenir) múltiples llamadas al servici de almacenamient desde una misma dirección sin estar acmpañadas de las respectivas llamadas de recuperación. Detectar (y prevenir) múltiples llamadas al servici de almacenamient en una frecuencia inusualmente alta. Limitar el tamañ de ls fichers que acepta el servici. Etc. 9.4 Ntificacines al usuari Es bligatri que el usuari tenga instalada la aplicación móvil cmpatible cn su dispsitiv antes de realizar el trámite web para el que se haya desplegad el MiniApplet. Pr ell se recmienda a ls integradres que, al detectar el tip de dispsitiv del usuari le adviertan y muestren el enlace a la página de descarga de la aplicación, para que la descarguen e instalen antes de cntinuar. La bibliteca JavaScript que acmpaña al facilita al usuari la detección de ls sistemas perativs móviles cmpatibles mediante las funcines: functin isandrid() Detecta si el usuari accede a la página web desde un dispsitiv Andrid. functin isios() Detecta si el usuari accede a la página web desde un ipd, iphne ipad. functin ischrme() Detecta si el usuari accede a la página web desde un navegadr Chrme. Un ejempl del us de estas funcines sería: // Si es un dispsitiv Andrid, mstrams el mensaje de advertencia para Andrid if (MiniApplet.isAndrid()) { dcument.getelementbyid( andridwarning ).style.display = "blck"; 74

75 } // Si es un dispsitiv ios, mstrams el mensaje de advertencia para ios else if (MiniApplet.isAndrid()) { dcument.getelementbyid( ioswarning ).style.display = "blck"; } // Si el navegadr es Chrme, mstrams el mensaje de advertencia para AutFirma else if (MiniApplet.isChrme ()) { dcument.getelementbyid( autfirmawarning ).style.display = "blck"; } El integradr sería el respnsable de preparar ess mensajes de advertencia. 75

76 9.5 Enlaces de descarga El usuari pdrá encntrar estas aplicacines en la tienda de aplicacines crrespndiente a cada sistema. Ls enlaces dispnibles sn: Enlaces Andrid <a href="https://play.ggle.cm/stre/apps/details?id=es.gb.afirma"> <img alt="andrid app n Ggle Play" src="https://develper.andrid.cm/images/brand/es_app_rgb_w_45.png" ges/brand/es_app_rgb_w_45.png"/> </a> <a href="https://play.ggle.cm/stre/apps/details?id=es.gb.afirma"> <img alt="get it n Ggle Play" src="https://develper.andrid.cm/images/brand/es_generic_rgb_w_45.png" ges/brand/es_generic_rgb_w_45.png"/> <a href="https://play.ggle.cm/stre/apps/details?id=es.gb.afirma"> <img alt="andrid app n Ggle Play" src="https://develper.andrid.cm/images/brand/es_app_rgb_w_60.png" ges/brand/es_app_rgb_w_60.png"/> </a> <a href="https://play.ggle.cm/stre/apps/details?id=es.gb.afirma"> <img alt="get it n Ggle Play" src="https://develper.andrid.cm/images/brand/es_generic_rgb_w_60.png" ges/brand/es_generic_rgb_w_60.png"/> 76

77 9.5.2 Enlaces ios <a href="https://itunes.apple.cm/es/app/cliente-firma- mvil/id ?mt=8&u=4" target="itunes_stre" style="display:inlineblck;verflw:hidden;backgrund:url(https://linkmaker.itunes.apple.cm/ht mlresurces/assets//images/web/linkmaker/badge_appstre-sm.png) nly screen{backgrundimage:url(https://linkmaker.itunes.apple.cm/htmlresurces/assets//images/ web/linkmaker/badge_appstre-sm.svg);}"></a> <a href="https://itunes.apple.cm/es/app/cliente-firma- mvil/id ?mt=8&u=4" target="itunes_stre"style="display:inlineblck;verflw:hidden;backgrund:url(https://linkmaker.itunes.apple.cm/ht mlresurces/assets/es_es//images/web/linkmaker/badge_appstre-lrg.png) nly screen{backgrundimage:url(https://linkmaker.itunes.apple.cm/htmlresurces/assets/es_es//i mages/web/linkmaker/badge_appstre-lrg.svg);}"></a> móvil - Ministeri de Hacienda y Administracines Públicas <a href="https://itunes.apple.cm/es/app/cliente-firmamvil/id ?mt=8&u=4" móvil - Ministeri de Hacienda y Administracines Públicas</a> Enlaces AutFirma Para instar al usuari que se instale AutFirma, rediríjal a la siguiente página web: 77

78 9.6 Limitacines Debe tenerse en cuenta que las versines actuales de ls distints cliente móviles n implementan tda la funcinalidad dispnible en el MiniApplet, ni es la misma funcinalidad cn la que cuenta cada aplicativ móvil. Las limitacines existentes, ya sea prque aún n se han desarrllad pr la impsibilidad de hacerl para ese sistema cncret, sn las siguientes: Limitacines de frmat N tds ls frmats de firma del MiniApplet están sprtads en su implementación tradicinal mnfásica en las aplicacines móviles (AutFirma sí las sprta). Según el sistema móvil, hay frmats que aún n están implementads. Cuand nuestr despliegue utilice un frmat de firma que n esté implementad para el sistema móvil del usuari, se intentará cmpner la firma de frma trifásica, de tal frma que la cnstrucción del frmat de firma se realice en el servidr y sól la peración de firma digital se realice en el dispsitiv del usuari. Para permitir esta cmpatibilidad de frmats el integradr debe desplegar el servici de firma trifásic y cnfigurarl en la web de despliegue del MiniApplet. Puede cnsultar cóm realizar estas tareas en el apartad Firmas/Multifirmas trifásicas. Ls frmats mnfásics sprtads pr cada un de ls sistemas sn: Andrid CAdES PAdES ios CAdES AutFirma CAdES XAdES PAdES FacturaE Limitacines funcinales Una limitación cmún a tdas las aplicacines es que tdas utilizan siempre el almacén de certificads del sistema ( el prpi de la aplicación en el cas de ios). Se ignra tant el almacén cnfigurad en el métd de carga del applet cm el navegadr utilizad para ejecutar las funcines de firma. 78

79 Sistemas Andrid functin getfilenamecntentbase64(title, extensin, descriptin) Ls clientes nativs n dispnen del métd de carga de fichers, ya que est cnllevaría invcar a la aplicación sól para que ns permitiese seleccinar el ficher de dats. En su lugar, cuand se desee permitir al usuari firmar un ficher lcalizad en su dispsitiv, se deberá ejecutar el métd de firma del MiniApplet sin indicar ls dats a firmar. De esta frma la aplicación nativa permitirá al usuari seleccinar un ficher y l firmará directamente. functin getmultifilenamecntentbase64(title, extensin, descriptin) Ls clientes móviles n dispnen de un md para cargar múltiples fichers para prcesarls secuencialmente. functin setstickysignatry(stick) Sistemas ios Ls clientes móviles n permiten fijar un certificad que el usuari seleccinar durante una peración de firma/multifirma de tal frma que este se reutilice en siguientes peracines. functin savedatatfile() El cliente móvil ios n sprta la peración de guardad en disc, ya que el sistema perativ impide el guardad de dats en un directri cmún y accesible para el usuari, pr l que este n pdría recuperar la firma guardada. functin getfilenamecntentbase64(title, extensin, descriptin) Ls clientes nativs n dispnen del métd de carga de fichers, ya que est cnllevaría invcar a la aplicación sól para que ns permitiese seleccinar el ficher de dats. En el cas cncret de ios, la prpia aplicación n tiene acces a fichers, pr l que sól se pdrán firmar dats prprcinads desde la prpia web. functin getmultifilenamecntentbase64(title, extensin, descriptin) Ls clientes móviles n dispnen de un md para cargar múltiples fichers para prcesarls secuencialmente. functin setstickysignatry(stick) Ls clientes móviles n permiten fijar un certificad que el usuari seleccinar durante una peración de firma / multifirma de tal frma que este se reutilice en siguientes peracines. 79

80 AutFirma functin getfilenamecntentbase64(title, extensin, descriptin) Ls clientes nativs n dispnen del métd de carga de fichers, ya que est cnllevaría invcar a la aplicación sól para que ns permitiese seleccinar el ficher de dats. En su lugar, cuand se desee permitir al usuari firmar un ficher lcalizad en su dispsitiv, se deberá ejecutar el métd de firma del MiniApplet sin indicar ls dats a firmar. De esta frma la aplicación permitirá al usuari seleccinar un ficher y l firmará directamente. functin getmultifilenamecntentbase64(title, extensin, descriptin) AutFirma n sprta la carga de múltiples fichers simultáneamente. functin setstickysignatry(stick) AutFirma n permite fijar un certificad que el usuari seleccinar durante una peración de firma/multifirma de tal frma que este se reutilice en siguientes peracines. 9.7 Cmpatibilidad del v1.3 cn aplicacines móviles y AutFirma Las versines actualmente publicadas de ls clientes móviles y AutFirma en las siguientes tiendas de sftware sn cmpatibles cn la última versión 1.2 del MiniApplet, per n cn esta versión 1.3: Ggle Play (Cliente 1.2) Play Stre móvil 1.1) Repsitri Guadalinex (FirmaFácil / AutFirma 1.3) Sí es cmpatible AutFirma 1.4 y superires. Una vez se publique la versión definitiva del v1.3, se publicarán las versines cmpatibles en las distintas tiendas y repsitris de sftware. 80

81 10 Infrmación específica para firmas CAdES 10.1 Algritms de firma Las firmas CAdES aceptan ls siguientes algritms de firma (deben escribirse exactamente cm aquí se muestran): SHA1withRSA SHA256withRSA SHA384withRSA SHA512withRSA N es recmendable usar ls algritms MD5withRSA y MD2withRSA pr estar bslets y ser vulnerables. Pr la misma razón, es igualmente cnveniente evitar el algritm SHA1withRSA. El algritm más segur, y pr l tant el recmendad para su us es SHA512withRSA. Tenga en cuenta que si el usuari utiliza una versión de Java anterir a la recmendada en el apartad de requisits mínims del Entrn Cliente, es psible que n pueda generar firmas electrónicas cn este algritm desde alguns almacenes de certificads Firmas CAdES implícitas explícitas Las firmas y cfirmas CAdES pueden incluir internamente una cpia de ls dats firmads (firmas implícitas) n incluirls (firmas explícitas detached ). El MiniApplet pr defect genera firmas explícitas, más pequeñas en tamañ. Si desea generar firmas implícitas, debe indicar el siguiente parámetr adicinal: mde=explicit Cnsulte la sección Parámetrs adicinales para mayr infrmación Parámetrs adicinales A cntinuación se detallan ls parámetrs adicinales que aceptan cada una de las frmas de generación de firmas. Es psible que el us de parámetrs n cntemplads en las siguientes tablas prvque trs cambis de funcinamient. N bstante n se dará sprte al aplicativ si se usan parámetrs n dcumentads, asumiend el integradr td el riesg y respnsabilidad derivads del us de parámetrs valres distints de ls aquí descrits Firma y cfirma mde Nmbre del parámetr Valres Descripción psibles explicit La firma resultante n incluirá ls dats firmads. Si n se indica el parámetr 81

82 mde se cnfigura autmáticamente este cmprtamient. implicit La firma resultante incluirá internamente una cpia de ls dats firmads. El us de este valr pdría generar firmas de gran tamañ. cntenttypeoid OID Identificadr del tip de dat firmad. cntentdescriptin [Text] Descripción textual del tip de dats firmad. plicyidentifier plicyidentifierhash [OID URN de tip OID] [Valr en Base64] Identificadr de la plítica de firma, necesari para generar firmas CAdES-EPES. Huella digital de la plítica de firma. Es bligatri indicar este parámetr si de indicó también plicyidentifier, al igual que es bligatri también dar valr al parámetr plicyidentifierhashalgrithm. plicyidentifierhashalgrithm SHA1 Indica que la huella digital indicada en el parámetr plicyidentifierhash se calculó mediante el algritm SHA1. plicyqualifier SHA-256 SHA-384 SHA-512 [URL hacia dcument ] Indica que la huella digital indicada en el parámetr plicyidentifierhash se calculó mediante el algritm SHA-256. Indica que la huella digital indicada en el parámetr plicyidentifierhash se calculó mediante el algritm SHA-284. Indica que la huella digital indicada en el parámetr plicyidentifierhash se calculó mediante el algritm SHA-512. URL (universalmente accesible) hacia el dcument (nrmalmente PDF) que cntiene una descripción textual de la plítica de firma. Este parámetr es pcinal inclus si se desea generar firmas CAdES-EPES. includeonlysignningcertificate true Indica que debe incluirse en la firma únicamente el certificad del firmante. false Indica que debe incluirse en la firma tda la cadena de certificación del certificad firmante. Valr pr defect. cmmitmenttypeindicatins [Enter] Indica el númer de CmmitmentTypeIndicatins que se van a declarar. Ests sn ls mtivs que se declaran para la firma. Ls valres cncrets se especifican cn cmmitmenttypeindicatinniden tifier y cmmitmenttypeindicatinndesc riptin, dnde n va desde 0 hasta el valr indicad en esta prpiedad mens 1. cmmitmenttypeindicatinnidentifier 1 Establece que el CmmitmentTypeIndicatins númer n (cntand desde cer) es Prueba de 82

83 cmmitmenttypeindicatinndescriptin cmmitmenttypeindicatinndcumentatinre ferences cmmitmenttypeindicatinncmmitmenttypeq ualifiers rigen. 2 Establece que el CmmitmentTypeIndicatins númer n (cntand desde cer) es Prueba de recepción. 3 Establece que el CmmitmentTypeIndicatins númer n (cntand desde cer) es Prueba de entrega. 4 Establece que el CmmitmentTypeIndicatins númer n (cntand desde cer) es Prueba de enví. 5 Establece que el CmmitmentTypeIndicatins númer n (cntand desde cer) es Prueba de aprbación. 6 Establece que el CmmitmentTypeIndicatins númer n (cntand desde cer) es Prueba de creación. [Text] Establece la descripción del [Text] [Text] CmmitmentTypeIndicatins númer n. (cntand desde cer) Este atribut es pcinal. Lista de URL separadas pr el carácter ' ' que se aprtan cm referencias dcumentales del CmmitmentTypeIndicatin númer n (atribut pcinal). Las URL de la lista n pueden cntener el carácter ' ' (ya que este se usa cm separadr). Lista de indicadres textuales separads pr el carácter ' ' que se aprtan cm calificadres adicinales del CmmitmentTypeIndicatin númer n (atribut pcinal). Nrmalmente sn OID. Ls elements de la lista n pueden cntener el carácter ' ' (ya que este se usa cm separadr) Cntrafirma plicyidentifier plicyidentifierhash Nmbre del parámetr Valres psibles [OID URN de tip OID] [Valr en Base64] Descripción Identificadr de la plítica de firma, necesari para generar firmas CAdES-EPES. Huella digital de la plítica de firma. Es bligatri indicar este parámetr si de 83

84 indicó también plicyidentifier, al igual que es bligatri también dar valr al parámetr plicyidentifierhashalgrithm. plicyidentifierhashalgrithm SHA1 Indica que la huella digital indicada en el parámetr plicyidentifierhash se calculó mediante el algritm SHA1. plicyqualifier SHA- 256 SHA- 384 SHA- 512 [URL hacia dcument ] Indica que la huella digital indicada en el parámetr plicyidentifierhash se calculó mediante el algritm SHA-256. Indica que la huella digital indicada en el parámetr plicyidentifierhash se calculó mediante el algritm SHA-284. Indica que la huella digital indicada en el parámetr plicyidentifierhash se calculó mediante el algritm SHA-512. URL (universalmente accesible) hacia el dcument (nrmalmente PDF) que cntiene una descripción textual de la plítica de firma. Este parámetr es pcinal inclus si se desea generar firmas CAdES- EPES. includeonlysignningcertificate true Indica que debe incluirse en la firma únicamente el certificad del firmante. false Indica que debe incluirse en la firma tda la cadena de certificación del certificad firmante. Valr pr defect. cmmitmenttypeindicatins [Enter Indica el númer de ] CmmitmentTypeIndicatins que se van a declarar. Ests sn ls mtivs que se declaran para la firma. Ls valres cncrets se especifican cn cmmitmenttypeindicatinnident ifier y cmmitmenttypeindicatinndescr iptin, dnde n va desde 0 hasta el valr mens 1 indicad en esta prpiedad. cmmitmenttypeindicatinnidentifier 1 Establece que el CmmitmentTypeIndicatin númer n es Prueba de rigen. 2 Establece que el CmmitmentTypeIndicatin cmmitmenttypeindicatinncmmitmenttypeq ualifiers númer n es Prueba de recepción. 3 Establece que el CmmitmentTypeIndicatin númer n es Prueba de entrega. 4 Establece que el CmmitmentTypeIndicatin númer n es Prueba de enví. 5 Establece que el CmmitmentTypeIndicatin númer n es Prueba de aprbación. 6 Establece que el CmmitmentTypeIndicatin [OID] númer n es Prueba de creación. Lista de OID separads pr el caracter ' ' que se aprtan cm calificadres adicinales del CmmitmentTypeIndicatin númer n (atribut pcinal). 84

85 85

86 11 Infrmación específica para firmas XAdES 11.1 Tratamient de las hjas de estil XSL de ls XML a firmar Cuand se firma cfirma (n aplica a la cntrafirma) un XML que cntiene hjas de estil, estas se firman igualmente (a mens que se indique l cntrari cn el parámetr ignrestylesheets, descrit más adelante), cumpliend las siguientes reglas: Firmas XML Envelped Hja de estil cn ruta relativa N se firma. Hja de estil remta cn ruta absluta Se restaura la declaración de hja de estil tal y cm estaba en el XML riginal Se firma una referencia (cannizada) a esta hja remta Hja de estil emptrada Se restaura la declaración de hja de estil tal y cm estaba en el XML riginal Firmas XML Externally Detached Hja de estil cn ruta relativa N se firma. Hja de estil remta cn ruta absluta Se firma una referencia (cannizada) a esta hja remta Hja de estil emptrada Firmas XML Envelping N es necesaria ninguna acción Hja de estil cn ruta relativa N se firma. Hja de estil remta cn ruta absluta Se firma una referencia (cannizada) a esta hja remta Hja de estil emptrada N es necesaria ninguna acción 86

87 Firmas XML Internally Detached Hja de estil cn ruta relativa N se firma. Hja de estil remta cn ruta absluta Se firma una referencia (cannizada) a esta hja remta Hja de estil emptrada N es necesaria ninguna acción 11.2 Algritms de firma Las firmas XAdES aceptan ls siguientes algritms de firma (deben escribirse exactamente cm aquí se muestran): SHA1withRSA SHA256withRSA SHA384withRSA SHA512withRSA N es recmendable usar el algritm SHA1withRSA pr estar bslet y ser vulnerable. El algritm más segur, y pr l tant el recmendad para su us es SHA512withRSA. Tenga en cuenta que si el usuari utiliza una versión de Java anterir a la recmendada en el apartad de requisits mínims del Entrn Cliente, es psible que n pueda generar firmas electrónicas cn este algritm desde alguns almacenes de certificads Algritms de huella digital para las referencias XAdES hace cálculs de huella digital para cada una de las referencias firmadas. El algritm pr defect para estas huellas es SHA-512. Este puede cambiarse mediante el parámetr adicinal referencesdigestmethd. Cnsulte la sección 11.6 para más infrmación Situación del nd de firma en XAdES Envelped Pr defect, el MiniApplet sitúa la firma electrónica en su nd Signature directamente cm hij de la raíz del XML. N bstante, hay situacines en las que puede interesar situar este nd de firma en una situación arbitraria del XML. Para ell, puede usarse el parámetr adicinal insertenvelpedsignatureonndebyxpath, en el que, mediante una expresión XPath v1, pdems indicar el nd en el que querems se inserte la firma (el nd Signature pasará a ser el primer hij de este). Si la expresión XPath reslviese varis nds, se usará el primer de ells. Pr ejempl, en el siguiente XML: 87

88 <?xml versin="1.0" encding="utf-8"?> <bkstre> <bk categry="cooking"> <title lang="en">everyday Italian</title> <authr>giada De Laurentiis</authr> <year>2005</year> <price>30.00</price> </bk> <bk categry="children"> <title lang="en">harry Ptter</title> <authr>j K. Rwling</authr> <year>2005</year> <price>29.99</price> </bk> </bkstre> Si indicams el parámetr cn este valr: insertenvelpedsignatureonndebyxpath = /bkstre/bk[1]/title La firma se insertara cm nd hij del títul del primer libr: <?xml versin="1.0" encding="utf-8"?> <bkstre> <bk categry="cooking"> <title lang="en"> Everyday Italian <ds:signature xmlns:ds="http://www.w3.rg/2000/09/xmldsig#" Id="S1"> </ds:signature> </title> <authr>giada De Laurentiis</authr> 88

89 <year>2005</year> <price>30.00</price> </bk> <bk categry="children"> <title lang="en">harry Ptter</title> <authr>j K. Rwling</authr> <year>2005</year> <price>29.99</price> </bk> </bkstre> Si en la expresión XPath desea referenciar nds dentr de un espaci de nmbres, debe usar funcines XPath cm namespace-uri() lcal-name(). Pr ejempl, para seleccinar el primer nd dentr del espaci de nmbres de factura electrónica pdríams usar la expresión: //*[namespace-uri()='http://www.facturae.es/facturae/2007/v3.0/facturae'] 11.5 Us de estructuras Manifest en firmas XAdES Es psible crear firmas XAdES en las que, siguiend el punt 2.3 de la especificación XMLDSig (http://www.w3.rg/tr/2000/wd-xmldsig-cre /#sec--manifest), las referencias XML n se firmen directamente, sin que se firme una estructura de tip Manifest que a su vez cntenga las referencias a firmar. De esta frma, tal y cm indica la nrmativa, la reslución de las referencias incluidas dentr de una estructura Manifest es una respnsabilidad del validadr, y de cara a la prpia firma n se resuelven para calcular las huellas digitales (l que permite hacer firmas XML explícitas). Cnsulte la especificación XMLDSig para mayr infrmación. Para crear firmas XAdES cn estructuras Manifest debe especificarse el siguiente parámetr adicinal: usemanifest=true Un ejempl muy simplificad de la estructura de una firma cn Manifest sería: <ds:signature Id="Signature-02553"> <ds:signedinf> <ds:reference Id="Reference-894bfd39 " Type="http://www.w3.rg/2000/09/xmldsig#Manifest" URI="#Manifest- 36e2de7b"> 89

90 </ds:reference> </ds:signedinf> <ds:object Id="ManifestObject-ffd54e53"> <ds:manifest Id="Manifest-36e2de7b"> <ds:reference Id="Reference-894bfd39" URI="myscheme://path/file"> <ds:digestmethd Algrithm="http://www.w3.rg/2001/04/xmlenc#sha512"/> <ds:digestvalue></ds:digestvalue> </ds:reference> </ds:manifest> </ds:object> </ds:signature> En este ejempl el cntenid firmad es myscheme://path/file, per al firmar n se ha intentad acceder a ese ficher, y se ha dad pr buena la huella digital indicada Parámetrs adicinales A cntinuación se detallan ls parámetrs adicinales que aceptan cada una de las frmas de generación de firmas. Es psible que el us de parámetrs n cntemplads en las siguientes tablas prvque trs cambis de funcinamient. N bstante n se dará sprte al aplicativ si se usan parámetrs n dcumentads, asumiend el integradr td el riesg y respnsabilidad derivads del us de parámetrs valres distints de ls aquí descrits Firma y cfirma Nmbre del parámetr Valres psibles Descripción [Text (expresión XPath v1)] insertenvelpedsignatureonndeb yxpath Indica, mediante una expresión XPath (v1), el nd baj el cual debe insertarse el nd de firma en el cas de una firma Envelped. Si la expresión devuelve más de un nd, se usa sl el primer. Si la expresión n devuelve nds está mal cnstruida se lanzará una excepción. 90

91 Este parámetr sl tiene efect en firmas Envelped. usemanifest true Usa un Manifest de XMLDSig cn las referencias de firma en vez de firmar directamente estas referencias. Est permite que sea pcinal la cmprbación del destin y huellas digitales de las referencias. false Genera las firmas nrmalmente, sin Manifest (cmprtamient pr defect) addkeyinfkeyvalue true Incluye el nd KeyValue dentr de KeyInf de XAdES (cmprtamient pr defect). false N incluye el nd KeyValue dentr de KeyInf de XAdES. addkeyinfkeyname true Incluye el nd KeyName dentr de KeyInf de XAdES. false N incluye el nd KeyName dentr de KeyInf avidxpathextratransfrmsonenve lped frmat true false XAdES Envelping de XAdES (cmprtamient pr defect). Evita la inclusión de la transfrmación XPATH2 que nrmalmente se añade para psibilitar las cfirmas y que elimina tdas las firmas del dcument para dejar únicamente el cntenid. Incluye la transfrmación XPATH2 psibilita las cfirmas eliminand tdas las firmas del dcument para dejar únicamente el cntenid (cmprtamient pr defect). Genera firmas en frmat Envelping. Este es el frmat que se utiliza pr defect cuand n se indica ningun. XAdES Envelped Genera firmas en frmat Envelped. XAdES Detached Genera firmas en frmat Internally Detached. includeonlysignningcertificate true Indica que debe incluirse en la firma únicamente el certificad del firmante. false Indica que debe incluirse en la firma tda la cadena de certificación del certificad firmante. Valr pr defect. plicyidentifier [URL] Identificadr de la plítica de firma (nrmalmente una URL hacia la plítica en frmat XML prcesable), necesari para generar firmas XAdES-EPES. plicyidentifierhash [Valr en Base64] Huella digital de la plítica de firma. Es bligatri indicar este parámetr si el valr indicad en plicyidentifier n es universalmente accesible. Si se da valr a este parámetr es bligatri también dar valr al parámetr plicyidentifierhashalgrithm. plicyidentifierhashalgrithm SHA1 Indica que la huella digital indicada en el parámetr plicyidentifierhash se calculó mediante el algritm SHA1. SHA-256 SHA-384 SHA-512 Indica que la huella digital indicada en el parámetr plicyidentifierhash se calculó mediante el algritm SHA-256. Indica que la huella digital indicada en el parámetr plicyidentifierhash se calculó mediante el algritm SHA-384. Indica que la huella digital indicada en el 91

92 parámetr plicyidentifierhash se calculó mediante el algritm SHA-512. plicyqualifier [URL hacia dcument] URL (universalmente accesible) hacia el dcument (nrmalmente PDF) que cntiene una descripción textual de la plítica de firma. Este parámetr es pcinal inclus si se desea generar firmas XAdES-EPES. plicydescriptin [Text] Descripción textual de la plítica de firma. En el cas de que se firme un XML, la cdificación del text usad debe adecuarse al XML firmad. Este parámetr es pcinal inclus si se desea generar firmas XAdES-EPES. signerclaimedrles [Text] Agrega a la firma camps cn ls cargs atribuids al firmante. Deben separarse ls cargs cn el carácter (y este n puede estar en el prpi text de ningún carg). En el cas de que se firme un XML, la cdificación del text usad debe adecuarse al XML firmad. signatureprductincity [Text] Agrega a la firma un camp cn la ciudad en la que se realiza la firma. En el cas de que se firme un XML, la cdificación del text usad debe adecuarse al XML firmad. signatureprductinprvince [Text] Agrega a la firma un camp cn la prvincia en la que se realiza la firma. En el cas de que se firme un XML, la cdificación del text usad debe adecuarse al XML firmad. signatureprductinpstalcde [Text] Agrega a la firma un camp cn el códig pstal en dnde se realiza la firma. En el cas de que se firme un XML, la cdificación del text usad debe adecuarse al XML firmad. signatureprductincuntry [Text] Agrega a la firma un camp cn el país en el que se realiza la firma. En el cas de que se firme un XML, la cdificación del text usad debe adecuarse al XML firmad. referencesdigestmethd mimetype rg/2000/09/xmld sig#sha1 rg/2001/04/xmle nc#sha256 rg/2001/04/xmle nc#sha512 [Text en frmat MIME-Type] Usa el algritm SHA1 para el cálcul de las huellas digitales de las referencias XML firmadas. Usa el algritm SHA-256 para el cálcul de las huellas digitales de las referencias XML firmadas. Este es el valr recmendad. Usa el algritm SHA-512 para el cálcul de las huellas digitales de las referencias XML firmadas. MIME-Type de ls dats a firmar. Si n se indica este parámetr el sistema intenta aut-detectar el tip, estableciend el más aprximad (que puede n ser el estrictamente crrect). encding [Text] Cdificación de ls dats a firmar. Un us incrrect de este parámetr puede prvcar la generación de una firma inválida. cntenttypeoid [OID URN de tip Identificadr del tip de dat firmad. Este 92

93 cannicalizatinalgrithm OID] rg/tr/2001/rec- xml-c14n rg/tr/2001/rec- xml-c14n #WithC mments rg/2001/10/xmlexc-c14n# rg/2001/10/xmlexcc14n#withcmmen parámetr es cmplementari (que n excluyente) al parámetr mimetype. Se firma el XML cn cannizad XML 1.0 inclusiv (valr pr defect). Se firma el XML cn cannizad XML 1.0 inclusiv cn cmentaris. Se firma el XML cn cannizad XML 1.0 exclusiv. Se firma el XML cn cannizad XML 1.0 exclusiv cn cmentaris. ts xadesnamespace [URL] URL de definición del espaci de nmbres de XAdES (el us de este parámetr puede cndicinar la declaración de versión de XAdES). Si se establece este parámetr es psible que se necesite establecer también el parámetr signedprpertiestypeurl para evitar incherencias en la versión de XAdES. signedprpertiestypeurl [URL] URL de definición del tip de las prpiedades firmadas (Signed Prperties) de XAdES. Si se establece este parámetr es psible que se necesite establecer también el parámetr xadesnamespace para evitar incherencias en la versión de XAdES. Si n se establece se usa el valr pr defect: rperties. ignrestylesheets true Si se firma un XML cn hjas de estil, ignra estas dejándlas sin firmar. false Si se firma un XML cn hjas de estil, firma también las hjas de estil (valr pr defect, cnsultar ntas adicinales sbre firma de hjas de estil). avidbase64transfrms true N declara transfrmacines Base64 inclus si sn necesarias. false Declara las transfrmacines Base64 cuand se han cdificad internamente ls dats a firmar en Base64 (valr pr defect). headless true Evita que se muestren diálgs gráfics adicinales al usuari (cm pr ejempl, para la dereferenciación de hjas de estil enlazadas cn rutas relativas). false Permite que se muestren diálgs gráfics adicinales al usuari. xmltransfrms [Númer] Númer de transfrmacines a aplicar al cntenid firmad. Debe indicarse psterirmente igual númer de parámetrs xmltransfrmntype, sustituyend n pr un rdinal cnsecutiv, cmenzand en 0 (ver ntas 93

94 xmltransfrmntype rg/2000/09/xmld sig#base64 rg/tr/1999/recxpath rg/2002/06/xmld sig-filter2 adicinales sbre indicación de transfrmacines adicinales). El cntenid se transfrma en Base64 antes de ser firmad. El cntenid se transfrma mediante XPATH antes de ser firmad. Únicamente es aplicable cuand se firma cntenid XML. El cntenid se transfrma mediante XPATH2 antes de ser firmad. Únicamente es aplicable cuand se firma cntenid XML. xmltransfrmnsubtype [Text] Subtip de la transfrmación n. Ls valres aceptads y sus funcinalidades dependen del valr indicad en xmltransfrmntype. xmltransfrmnbdy [Text] Cuerp de la transfrmación n. Ls valres aceptads y sus funcinalidades dependen del valres indicads en xmltransfrmntype y en xmltransfrmnsubtype. ndetsign [Text] Identificadr del nd (establecid mediante el atribut Id ) que se desea firmar dentr de un XML. cmmitmenttypeindicatins [Enter] Indica el númer de CmmitmentTypeIndicatins que se van a declarar. Ests sn ls mtivs que se declaran para la firma. Ls valres cncrets se especifican cn cmmitmenttypeindicatinnident ifier cmmitmenttypeindicatinndescr iptin cmmitmenttypeindicatinnidentif ier y cmmitmenttypeindicatinndescrip tin, dnde n va desde 0 hasta el valr mens 1 indicad en esta prpiedad. IMPORTANTE: Pr un errr cncid de la versión actual del prgrama, sl es psible indicar un element, pr l que de establecerse un valr a este parámetr debe ser bligatriamente 1. 1 Establece que el CmmitmentTypeIndicatins númer n es Prueba de rigen. 2 Establece que el CmmitmentTypeIndicatins númer n es Prueba de recepción. 3 Establece que el CmmitmentTypeIndicatins númer n es Prueba de entrega. 4 Establece que el CmmitmentTypeIndicatins númer n es Prueba de enví. 5 Establece que el CmmitmentTypeIndicatins númer n es Prueba de aprbación. 6 Establece que el CmmitmentTypeIndicatins númer n es Prueba de creación. [Text] Establece la descripción del CmmitmentTypeIndicatins númer n. Este 94

95 atribut es pcinal Indicación de transfrmacines adicinales al cntenid a firmar Respect al us de ls parámetrs xmltransfrmntype, xmltransfrmnsubtype y xmltransfrmnbdy, sus valres van ligads, aceptándse las siguientes cmbinacines: Transfrmación XPATH Tip: Subtips: N tiene subtips. Cuerp: Especificad mediante sentencias de tip XPATH. Transfrmación XPATH2 Tip: Subtips: subtract: Resta. intersect: Intersección unin: Unión Cuerp: Especificad mediante sentencias de tip XPATH2. Transfrmación BASE64. La transfrmación es inversa, es decir, ls dats se descdifican desde Base64 antes de firmarse, pr l que ests deben estar previamente cdificads en Base64 e indicarse mediante el parámetr adicinal encdign=base64. Tip: Subtips: N tiene subtips. Cuerp: N tiene cuerp. N es psible especificar transfrmacines cmplejas que incluyan varias sentencias. En su lugar, puede declararse una sucesión de transfrmacines simples que prduzcan el mism resultad. Cada una de las transfrmacines se aplicará de frma rdenada sbre el resultad de la anterir. El listad de transfrmacines se inicia cn aquella declarada cn el índice 0. Pr ejempl, si se desean insertar 2 transfrmacines adicinales, se deberán establecer ls parámetrs: xmltransfrms=2 xmltransfrm0type= xmltransfrm0subtype= (Opcinal) xmltransfrm0bdy= xmltransfrm1type= xmltransfrm1subtype= (Opcinal) xmltransfrm1bdy= 95

96 Cntrafirma Nmbre del parámetr Valres psibles Descripción addkeyinfkeyvalue true Incluye el nd KeyValue dentr de KeyInf de XAdES (cmprtamient pr defect). false N incluye el nd KeyValue dentr de KeyInf de XAdES. addkeyinfkeyname true Incluye el nd KeyName dentr de KeyInf de XAdES. false N incluye el nd KeyName dentr de KeyInf de XAdES (cmprtamient pr defect). plicyidentifier [URL] Identificadr de la plítica de firma (nrmalmente una URL hacia la plítica en frmat XML prcesable), necesari para generar firmas XAdES-EPES. plicyidentifierhash [Valr en Base64] plicyidentifierhashalgrithm SHA1 plicyqualifier SHA-256 SHA-384 SHA-512 [URL hacia dcument] Huella digital de la plítica de firma. Es bligatri indicar este parámetr si el valr indicad en plicyidentifier n es universalmente accesible. Si se da valr a este parámetr es bligatri también dar valr al parámetr plicyidentifierhashalgrithm. Indica que la huella digital indicada en el parámetr plicyidentifierhash se calculó mediante el algritm SHA1. Indica que la huella digital indicada en el parámetr plicyidentifierhash se calculó mediante el algritm SHA-256. Indica que la huella digital indicada en el parámetr plicyidentifierhash se calculó mediante el algritm SHA-384. Indica que la huella digital indicada en el parámetr plicyidentifierhash se calculó mediante el algritm SHA-512. URL (universalmente accesible) hacia el dcument (nrmalmente PDF) que cntiene una descripción textual de la plítica de firma. Este parámetr es pcinal inclus si se desea generar firmas XAdES-EPES. plicydescriptin [Text] Descripción textual de la plítica de firma. En el cas de que se firme un XML, la cdificación del text usad debe adecuarse al XML firmad. Este parámetr es pcinal inclus si se desea generar firmas XAdES-EPES. signerclaimedrles [Text] Agrega a la firma camps cn ls cargs atribuids al firmante. Deben separarse ls cargs cn el carácter (y este n puede estar en el prpi text de ningún carg). En el cas de que se firme un XML, la cdificación del text usad debe adecuarse al XML firmad. signatureprductincity [Text] Agrega a la firma un camp cn la ciudad en la que se realiza la firma. En el cas de que se firme un XML, la cdificación del text usad debe adecuarse al XML firmad. signatureprductinprvince [Text] Agrega a la firma un camp cn la prvincia en la que se 96

97 signatureprductinpstalcde [Text] realiza la firma. En el cas de que se firme un XML, la cdificación del text usad debe adecuarse al XML firmad. Agrega a la firma un camp cn el códig pstal en dnde se realiza la firma. En el cas de que se firme un XML, la cdificación del text usad debe adecuarse al XML firmad. signatureprductincuntry [Text] Agrega a la firma un camp cn el país en el que se realiza la firma. En el cas de que se firme un XML, la cdificación del text usad debe adecuarse al XML cntrafirmad. encding [Text] Fuerza una cdificación para la firma resultante. Un us incrrect de este parámetr puede prvcar la generación de una firma inválida. cmmitmenttypeindicatins [Enter] Indica el númer de CmmitmentTypeIndicatins que se van a declarar. Ests sn ls mtivs que se declaran para la firma. Ls valres cncrets se especifican cn cmmitmenttypeindicatinnidentifier y cmmitmenttypeindicatinndescriptin, dnde n va desde 0 hasta el valr mens 1 indicad en esta prpiedad. IMPORTANTE: Pr un errr cncid de la versión actual del prgrama, sl es psible indicar un element, pr l que de establecerse un valr a este parámetr debe ser bligatriamente 1. cmmitmenttypeindicatinnide ntifier cmmitmenttypeindicatinndes criptin 1 Establece que el CmmitmentTypeIndicatins númer n es Prueba de rigen. 2 Establece que el CmmitmentTypeIndicatins númer n es Prueba de recepción. 3 Establece que el CmmitmentTypeIndicatins númer n es Prueba de entrega. 4 Establece que el CmmitmentTypeIndicatins númer n es Prueba de enví. 5 Establece que el CmmitmentTypeIndicatins númer n es Prueba de aprbación. 6 Establece que el CmmitmentTypeIndicatins númer [Text] mde implicit / explicit n es Prueba de creación. Establece la descripción del CmmitmentTypeIndicatins númer n. Este atribut es pcinal. Permite que se realicen firmas explícitas en lugar de implícitas (pr defect). Cnsulte el apartad Firmas XAdES explícitas Firmas XAdES explícitas El MiniApplet cnsidera, pr cmpatibilidad cn el un tip de firmas XAdES llamadas XAdES explícitas, en las que n se firman ls dats, sin la huella digital de ests. Este tip de firmas n sn cnfrmes cn ningún tip de nrmativa ni estándar, y deben ser sustituidas pr firmas cn estructuras MANIFEST (sección 11.5) ya que en un futur próxim se extinguirá el us del tip explícit en las firmas XAdES. 97

98 Para cnfigurar el md explícit cn las firmas XAdES se utilizará el parámetr de cnfiguración mde cn el valr explicit : mde=explicit 98

99 12 Infrmación específica para firma de facturas electrónicas 12.1 Operacines n sprtadas y ntas de interés Las facturas electrónicas se firman cn el frmat XAdES Envelped per cn unas particularidades cncretas que n es psible replicar mediante el frmat XAdES del MiniApplet Es necesari utilizar el frmat FacturaE para la firma de facturas. El frmat FacturaE sól puede utilizarse sbre facturas electrónicas acrdes al estándar. Las facturas electrónicas n sprtan las peracines de cfirma ni cntrafirma. Si se intenta hacer una peración de cfirma cntrafirma sbre una factura electrónicas se ntificará que n es psible prque ésta ya cuenta cn una firma Algritms de firma Las firmas de FacturaE aceptan ls siguientes algritms de firma (deben escribirse exactamente cm aquí se muestran): SHA1withRSA SHA256withRSA SHA384withRSA SHA512withRSA El algritm más segur, y pr l tant el recmendad para su us es SHA512withRSA. Sin embarg, tenga en cuenta que si el usuari utiliza una versión de Java anterir a la recmendada en el apartad de requisits mínims del Entrn Cliente, es psible que n pueda generar firmas electrónicas cn ls algritms SHA-2 (SHA256, SHA384 y SHA512) desde alguns almacenes de certificads Parámetrs adicinales A cntinuación se detallan ls parámetrs adicinales que acepta el frmat FacturaE para la cnfiguración de la peración y la firma electrónica generada. Es psible que el us de parámetrs n cntemplads en las siguientes tablas prvque trs cambis de funcinamient. N bstante n se dará sprte al aplicativ si se usan parámetrs n dcumentads, asumiend el integradr td el riesg y respnsabilidad derivads del us de parámetrs valres distints de ls aquí descrits. Nmbre del parámetr Valres psibles Descripción signatureprductincity [Text] Agrega a la firma un camp cn la ciudad en la que se realiza la firma. signatureprductinprvince [Text] Agrega a la firma un camp cn la prvincia en la que se realiza la firma. signatureprductinpstalcde [Text] Agrega a la firma un camp cn el códig pstal en dnde se realiza la 99

100 firma. signatureprductincuntry [Text] Agrega a la firma un camp cn el país en el que se realiza la firma. 100

101 13 Infrmación específica para firmas PAdES 13.1 Creación de una firma visible El MiniApplet permite la creación de firmas visibles dentr de un dcument PDF, que sn l sn tant en pantalla (pr ejempl, usand Adbe Reader) cm en papel una vez impres el dcument. Para ell debems indicar, mediante parámetrs adicinales, la página en dnde situar la visualización de la firma (sl puede haber una, en una única página) y sus crdenadas dentr de esta. Las crdenadas de la visualización se indican partiend de la esquina inferir izquierda, según el siguiente diagrama: 101

102 signaturepsitinonpageupperrightx signaturepsitinonpagelwerleftx signaturepsitinonpageupperrighty signaturepsitinonpagelwerlefty Estas crdenadas, así cm la página de inserción se establecen usand ls parámetrs adicinales, pr ejempl: signaturepsitinonpagelwerleftx = 100 signaturepsitinonpagelwerlefty = 100 signaturepsitinonpageupperrightx = 200 signaturepsitinonpageupperrighty = 200 signaturepsitinonpageupperrightx = 200 signaturepage = 1 Ls dcuments PDF cmienzan su numeración de páginas desde un (1). Si se indica -666 cm página se usa la última página del dcument. Dentr del recuadr marcad pr las crdenadas indicadas, es psible mstrar distints elements: Una imagen: En este cas debe indicarse qué imagen a usar aprtand el binari en frmat JPEG cdificad en Base

103 signaturerubricimage = AGFGSFH La imagen de defrma para adaptarse a las dimensines del recuadr marcad pr las crdenadas, pr l que es imprtante que ambs tengan la misma relación de aspect. Text (que puede cmbinarse cn una imagen) Es necesari indicar n sl el text a sbreimprimir en el cuadr visible, sin también indicacines sbre su frmat (tip de letra y su tamañ, clr, etc.). El text intrduce de frma autmática ls retrns de carr necesaris para adaptarse al recuadr. El text aparece siempre sbre la imagen indicada, si se indicó alguna. Ls parámetrs para indicar el frmat sn: layer2text Text a escribir dentr de la firma visible. Este text se escribe únicamente si n se ha especificad una imagen de rúbrica, y necesita que se indique la página y la situación dónde mstrar el recuadr de firma mediante ls parámetrs signaturepsitinonpagelwerleftx, signaturepsitinonpagelwerlefty, signaturepsitinonpageupperrightx, signaturepsitinonpageupperrighty y signaturepage. layer2fntfamily Tip de letra a usar en el text de la firma visible. Este parámetr requiere que se haya establecid también el parámetr layer2text. Ls valres admitids sn: 0 = Curier (tip pr defect) 1 = Helvética 2 = Times Rman 3 = Symbl 4 = ZapfDingBats 103

104 layer2fntsize Tamañ de letra a usar en el text de la firma visible. Este parámetr requiere que se haya establecid también el parámetr layer2text. Ls valres admitids sn numérics (y el valr pr defect es 12). layer2fntstyle Estil del tip de letra a usar en el text de la firma visible. Este parámetr requiere que se haya establecid también el parámetr layer2text. Ls valres admitids sn numérics, crrespndiend: 0 = Nrmal (estil pr defect) 1 = Negrita 2 = Cursiva 3 = Negrita y cursiva 4 = Subrayad 8 = Tachad Es psible cmbinar estils aplicand la peración lógica sbre ls valres numérics a cmbinar. layer2fntclr Clr del text de la firma visible. Este parámetr requiere que se haya establecid también el parámetr layer2text. Ls valres admitids sn textuales (se ignra entre mayúsculas y minúsculas), sprtándse: black = Negr (clr pr defect) white = Blanc gray = Gris lightgray = Gris clar darkgray = Gris scur red = Rj pink = Rsa 104

105 13.2 Inserción de una imagen en un dcument PDF antes de ser firmad Cm ayuda principalmente a la inserción de Códigs Segurs de Validación (CSV), existe la capacidad de insertar una imagen en un dcument PDF just antes de que se prduzca la firma. Para ell, debems indicar primer una página y una zna dentr de esta para insertar la imagen, usand para ell el mism sistema de crdenadas descrit en la sección 13.1, es decir, a partir de la esquina inferir izquierda. La imagen debe prprcinarse en frmat JPEG cdificad en Base64. Para indicar la página, pdems usar su númer (empezand a cntar desde un cm primera página), usar -1 para referirns a la última página del dcument 0 (cer) para insertar la imagen en tdas las páginas. Es imprtante recalcar que la imagen se defrma para adaptarse al recuadr marcad pr las crdenadas, siend útil para evitar este efect que ambs tengan la misma relación de aspect. Igualmente, n se prprcinan funcinalidades de rtad, pr l que si se quiere insertar una imagen de lad (pr ejempl, en el margen de la página, esta debe venir rtada en rigen. Ls parámetrs adicinales a usar para la inserción de imágenes sn: image imagepage Imagen que se desea insertar en el PDF antes de que este sea firmad. La imagen debe prprcinarse en frmat JPEG cdificad en Base64. Si el dcument ya cntiene firmas es psible que se invaliden, pr l que cnviene usarl únicamente en dcuments sin firmas previas. Página dnde desea insertarse la imagen indicada mediante el parámetr image. La numeración de las páginas cmienza en un. Si se indica -1 cm númer de página se inserta la imagen en la última página del dcument. Si se indica 0 cm númer de página se inserta la imagen en tdas las páginas del dcument. Este parámetr es bligatri, si n se indica una página válida n se insertará la imagen. imagepsitinonpagelwerleftx Crdenada hrizntal inferir izquierda de la psición de la imagen (indicada mediante el parámetr image) dentr de la página. Es necesari indicar el rest de crdenadas de la imagen mediante ls parámetrs imagepsitinonpagelwerlefty, imagepsitinonpageupperrightx e imagepsitinonpageupperrighty. Es necesari indicar también una página de inserción en el parámetr imagepage. 105

106 imagepsitinonpagelwerlefty Crdenada vertical inferir izquierda de la psición de la imagen (indicada mediante el parámetr image) dentr de la página. Es necesari indicar el rest de crdenadas de la imagen mediante ls parámetrs imagepsitinonpagelwerleftx, imagepsitinonpageupperrightx e imagepsitinonpageupperrighty. Es necesari indicar también una página de inserción en el parámetr imagepage. imagepsitinonpageupperrightx Crdenada hrizntal superir derecha de la psición de la imagen (indicada mediante el parámetr image) dentr de la página. Es necesari indicar el rest de crdenadas de la imagen mediante ls parámetrs imagepsitinonpagelwerleftx, imagepsitinonpagelwerlefty e imagepsitinonpageupperrighty. Es necesari indicar también una página de inserción en el parámetr imagepage. imagepsitinonpageupperrighty Crdenada vertical superir derecha de la psición de la imagen (indicada mediante el parámetr image) dentr de la página. Es necesari indicar el rest de crdenadas de la imagen mediante ls parámetrs imagepsitinonpagelwerleftx, imagepsitinonpagelwerlefty e imagepsitinonpageupperrightx. Es necesari indicar también una página de inserción en el parámetr imagepage Operacines n sprtadas y ntas de interés Las firmas PAdES n admiten cntrafirmas. Una cfirma PAdES cnsiste en la adición de una firma adicinal al dcument PDF, sin que se establezca ninguna relación de interdependencia cn las firmas existentes. Cfirmar un dcument PDF es cmpletamente equivalente a firmar un dcument PDF ya firmad. Adbe Acrbat/Reader n sprta múltiples firmas cuand hay firmas PAdES-BES. Únicamente es psible usar PAdES para dcuments PDF. N se firman ls psibles adjunts emptrads que pudiese cntener el dcument PDF Firma de dcuments PDF cifrads prtegids cn cntraseña Si bien es psible firmar dcuments PDF cifrads prtegids cn cntraseña, deben tenerse en cuenta las siguientes limitacines: N se sprta la firma de PDF cifrads cn certificads cn algritm AES

107 Puede que n sea psible, en tds ls cass, validar u btener justificantes de validación de dcuments PDF cifrads prtegids pr cntraseña usand la platafrma de validación VALIDE del Gbiern de España. https://valide.redsara.es/valide/ 13.5 Algritms de firma Las firmas PAdES aceptan ls siguientes algritms de firma (deben escribirse exactamente cm aquí se muestran): SHA1withRSA SHA256withRSA SHA384withRSA SHA512withRSA El estándar PAdES recmienda n usar el algritm SHA1withRSA pr n ser el más segur. El algritm más segur, y pr l tant el recmendad para su us es SHA512withRSA. Sin embarg, tenga en cuenta que si el usuari utiliza una versión de Java anterir a la recmendada en el apartad de requisits mínims del Entrn Cliente, es psible que n pueda generar firmas electrónicas cn ls algritms SHA-2 (SHA256, SHA384 y SHA512) desde alguns almacenes de certificads Parámetrs adicinales A cntinuación se detallan ls parámetrs adicinales que aceptan cada una de las frmas de generación de firmas. Es psible que el us de parámetrs n cntemplads en las siguientes tablas prvque trs cambis de funcinamient. N bstante n se dará sprte al aplicativ si se usan parámetrs n dcumentads, asumiend el integradr td el riesg y respnsabilidad derivads del us de parámetrs valres distints de ls aquí descrits. includeonlysignningcertificate (prpiedad cmpartida cn XAdES y CAdES) Si se establece a true se incluye en la firma únicamente el certificad del firmante (y n la cadena de certificación cmpleta). Si n se establece se establece a false se incluirá tda la cadena de certificación. alwayscreaterevisin Si se establece a true siempre crea una revisión del PDF inclus cuand el dcument n cntiene ninguna firma previa. Est requiere que ls dcuments de entrada cumplan estrictamente la especificación PDF 1.7 (ISO :2008), y puede crear incmpatibilidades cn dcuments PDF acrdes a la especificación 1.3 creads cn biblitecas antiguas, cm pr ejempl QPDF. 107

108 Si se establece a false, n crea revisines en dcuments que n cntengan firmas previas y sí las crea en dcuments que ya cntengan alguna firma. image imagepage Imagen que se desea insertar en el PDF antes de que este sea firmad. La imagen debe prprcinarse en frmat JPEG cdificad en Base64. Si el dcument ya cntiene firmas es psible que se invaliden, pr l que cnviene usarl únicamente en dcuments sin firmas previas. Página dnde desea insertarse la imagen indicada mediante el parámetr image. La numeración de las páginas cmienza en un. Si se indica -1 cm númer de página se inserta la imagen en la última página del dcument. Si se indica 0 cm númer de página se inserta la imagen en tdas las páginas del dcument. Este parámetr es bligatri, si n se indica una página válida n se insertará la imagen. imagepsitinonpagelwerleftx Crdenada hrizntal inferir izquierda de la psición de la imagen (indicada mediante el parámetr image) dentr de la página. Es necesari indicar el rest de crdenadas de la imagen mediante ls parámetrs imagepsitinonpagelwerlefty, imagepsitinonpageupperrightx e imagepsitinonpageupperrighty. Es necesari indicar también una página de inserción en el parámetr imagepage. imagepsitinonpagelwerlefty Crdenada vertical inferir izquierda de la psición de la imagen (indicada mediante el parámetr image) dentr de la página. Es necesari indicar el rest de crdenadas de la imagen mediante ls parámetrs imagepsitinonpagelwerleftx, imagepsitinonpageupperrightx e imagepsitinonpageupperrighty. Es necesari indicar también una página de inserción en el parámetr imagepage. imagepsitinonpageupperrightx Crdenada hrizntal superir derecha de la psición de la imagen (indicada mediante el parámetr image) dentr de la página. Es necesari indicar el rest de crdenadas de la imagen mediante ls parámetrs imagepsitinonpagelwerleftx, imagepsitinonpagelwerlefty e 108

109 imagepsitinonpageupperrighty. Es necesari indicar también una página de inserción en el parámetr imagepage. imagepsitinonpageupperrighty attach Crdenada vertical superir derecha de la psición de la imagen (indicada mediante el parámetr image) dentr de la página. Es necesari indicar el rest de crdenadas de la imagen mediante ls parámetrs imagepsitinonpagelwerleftx, imagepsitinonpagelwerlefty e imagepsitinonpageupperrightx. Es necesari indicar también una página de inserción en el parámetr imagepage. Cntenid a añadir cm adjunt al PDF, en frmat Base64 (el adjunt será el binari decdificad). Este parámetr requiere que se haya establecid también el parámetr attachfilename. attachfilename Nmbre de ficher para adjuntar el cntenid binari indicad mediante attach. Este parámetr requiere que se haya establecid también el parámetr attach. attachdescriptin Descripción del cntenid binari indicad mediante attach. certificatinlevel Nivel de certificación de la firma PDF. Ls valres admitids sn numérics, crrespndiend: 0 = Firma rdinaria n certificada (pr defect) 1 = Firma de autr. N se permite ningún cambi psterir en el dcument 2 = Firma de autr certificada para frmularis. Se permite únicamente el rellen psterir de ls camps del frmulari 3 = Firma certificada. Se permite únicamente el rellen psterir de ls camps del frmulari el añadid de firmas de aprbación signaturesubfilter Nmbre del sub-filtr en el diccinari PDF para indicar el tip de la firma. Si n se indica este parámetr pr defect se usa adbe.pkcs7.detached (firma PAdES básica). Es psible indicar ETSI.CAdES.detached para generar una firma PAdES-BES, si bien el hacerl puede causar que al añadir firmas adicinales al PDF se invaliden las ya existentes. 109

110 signaturefield signaturepage Nmbre del camp en dnde insertar la firma. Si el dcument PDF tiene ya un camp de firma pre-cread es psible utilizarl para insertar la firma generada, referenciándl pr su nmbre. Si se indica un nmbre de camp de firma que n exista en el dcument PDF prprcinad, se generará una excepción. Página del dcument PDF dnde insertar la firma. Puede usarse la cnstante LAST_PAGE para referirse a la última página del dcument PDF si se descnce el númer ttal de páginas de este. Este parámetr se ignra si se ha establecid valr al parámetr signaturefield, y necesita que se establezcan valres válids a ls parámetrs signaturepsitinonpagelwerleftx, signaturepsitinonpagelwerlefty, signaturepsitinonpageupperrightx y signaturepsitinonpageupperrighty. signaturepsitinonpagelwerleftx Crdenada hrizntal inferir izquierda de la psición del recuadr visible de la firma dentr de la página. Es necesari indicar el rest de crdenadas del recuadr mediante ls parámetrs signaturepsitinonpagelwerlefty, signaturepsitinonpageupperrightx y signaturepsitinonpageupperrighty. Si n se indica una página en el parámetr signaturepage la firma se inserta en la última página del dcument. signaturepsitinonpagelwerlefty Crdenada vertical inferir izquierda de la psición del recuadr visible de la firma dentr de la página. Es necesari indicar el rest de crdenadas del recuadr mediante ls parámetrs signaturepsitinonpagelwerleftx, signaturepsitinonpageupperrightx y signaturepsitinonpageupperrighty. Si n se indica una página en el parámetr signaturepage la firma se inserta en la última página del dcument. signaturepsitinonpageupperrightx Crdenada hrizntal superir derecha de la psición del recuadr visible de la firma dentr de la página. 110

111 Es necesari indicar el rest de crdenadas del recuadr mediante ls parámetrs signaturepsitinonpagelwerleftx, signaturepsitinonpagelwerlefty y signaturepsitinonpageupperrighty. Si n se indica una página en el parámetr signaturepage la firma se inserta en la última página del dcument. signaturepsitinonpageupperrighty Crdenada vertical superir derecha de la psición del recuadr visible de la firma dentr de la página. Es necesari indicar el rest de crdenadas del recuadr mediante ls parámetrs signaturepsitinonpagelwerleftx, signaturepsitinonpagelwerlefty y signaturepsitinonpageupperrightx. Si n se indica una página en el parámetr signaturepage la firma se inserta en la última página del dcument. signaturerubricimage layer2text Imagen JPEG cdificada en Base64 de la rúbrica de la firma manuscrita que se desea aparezca cm firma visible en el PDF. Text a escribir dentr de la "capa 2" de la firma visible. Este text se escribe únicamente si n se ha especificad una imagen de rúbrica, y necesita que se indique la página y la situación dónde mstrar el recuadr de firma mediante ls parámetrs signaturepsitinonpagelwerleftx, signaturepsitinonpagelwerlefty, signaturepsitinonpageupperrightx, signaturepsitinonpageupperrighty y signaturepage. layer2fntfamily Tip de letra a usar en el text de la "capa 2" de la firma visible. Este parámetr requiere que se haya establecid también el parámetr layer2text. Ls valres admitids sn numérics, crrespndiend: layer2fntsize 0 = Curier (tip pr defect) 1 = Helvética 2 = Times Rman 3 = Symbl 4 = ZapfDingBats 111

112 Tamañ de letra a usar en el text de la "capa 2" de la firma visible. Este parámetr requiere que se haya establecid también el parámetr layer2text. Ls valres admitids sn numérics (y el valr pr defect es 12). layer2fntstyle Estil del tip de letra a usar en el text de la "capa 2" de la firma visible. Este parámetr requiere que se haya establecid también el parámetr layer2text. Ls valres admitids sn numérics, crrespndiend: 0 = Nrmal (estil pr defect) 1 = Negrita 2 = Cursiva 3 = Negrita y cursiva 4 = Subrayad 8 = Tachad Es psible cmbinar estils aplicand la peración lógica sbre ls valres numérics a cmbinar. layer2fntclr Clr del text de la "capa 2" de la firma visible. Este parámetr requiere que se haya establecid también el parámetr layer2text. Ls valres admitids sn textuales (se ignra entre mayúsculas y minúsculas), sprtándse: black = Negr (clr pr defect) white = Blanc gray = Gris lightgray = Gris clar darkgray = Gris scur red = Rj pink = Rsa signreasn Razón pr la que se realiza la firma (este dat se añade al diccinari PDF, y n a la prpia firma). signatureprductincity (prpiedad cmpartida cn XAdES y CAdES) signercntact Ciudad en la que se realiza la firma (este dat se añade al diccinari PDF, y n a la prpia firma). 112

113 Cntact del firmante, usualmente una dirección de crre electrónic (este dat se añade al diccinari PDF, y n a la prpia firma). plicyidentifier (prpiedad cmpartida cn XAdES y CAdES) Identificadr de la plítica de firma. Debe ser un OID ( una URN de tip OID) que identifique unívcamente la plítica en frmat ASN.1 prcesable. plicyidentifierhash (prpiedad cmpartida cn XAdES y CAdES) Huella digital del dcument de plítica de firma (nrmalmente del mism ficher en frmat ASN.1 prcesable). Si n se indica una huella digital y el parámetr plicyidentifier n es una URL accesible universalmente se prvcará un errr, mientras que si n se indica una huella digital per el parámetr plicyidentifier es una URL accesible universalmente, se descargara el ficher apuntad pr la URL para calcular la huella digital al vuel. plicyidentifierhashalgrithm (prpiedad cmpartida cn XAdES y CAdES) Algritm usad para el cálcul de la huella digital indicada en el parámetr plicyidentifierhash. Es bligatri indicarl cuand se prprcina una huella digital distinta de 0. plicyqualifier (prpiedad cmpartida cn XAdES y CAdES) URL que apunta al dcument descriptiv de la plítica de firma (nrmalmente un dcument PDF cn una descripción textual). wnerpasswrd headless Cntraseña de apertura del PDF (cntraseña del prpietari) si este estaba cifrad. N se sprta la firma de dcuments PDF cifrads cn certificads cn algritm AES256. Evita cualquier interacción cn el usuari si se establece a true, si n se establece se establece a false actúa nrmalmente (puede mstrar diálgs, pr ejempl, para slicitar las cntraseñas de ls PDF cifrads). Útil para ls prcess desatendids y pr ltes. allwsigningcertifiedpdfs Si se establece a true permite la firma cfirma de PDF certificads sin cnsultarl al usuari, si se establece a false cualquier tr valr se lanza una excepción en cas de intentar firmar cfirmar un PDF certificad y si n se establece se mstrará un diálg al 113

114 usuari para que cnfirme que desea realizar la firma a pesar de que el resultad serán una firma n válida. Si el parámetr headless está establecid a true, n pdrá mstrar el diálg de cnfirmación así que llegads a este punt se lanzará una excepción. N se sprta el cifrad de dcuments PDF cn certificads cn algritm AES256. signingcertificatev2 (prpiedad cmpartida cn CAdES) Si se indica a true se utilizará SigningCertificateV2, si se indica cualquier tra csa SigningCertificateV1. Si n se indica nada, se utilizará V1 para las firmas SHA1 y V2 para el rest. 14 Prblemas cncids 14.1 Us de cierts algritms cn Windws XP Cuand se realizan firmas sbre Windws XP, en ciertas cnfiguracines (Service Pack, versión de Java, arquitectura x86 x64, cntrladres de tarjeta inteligente), n es psible usar RSA cn SHA-2 cm algritm de firma. Actualice siempre que sea psible a una versión actual de su sistema perativ, y si n es psible, use SHA-256 cm alternativa a SHA-512 SHA-384 cuand ests ds últims n funcinen, y SHA- 1 cuand n funcine ningún algritm de la familia SHA-2 (SHA-224, SHA-256, SHA-384 y SHA- 512), si bien en este últim cas debe tener siempre en cuenta que SHA-1 es actualmente un algritm bslet y vulnerable Ggle Chrme n ejecuta ni el MiniApplet ni ningún tr Applet de Java a pesar de tener crrectamente instalad el JRE Micrsft Windws En las versines de Ggle Chrme iguales superires a la 45 n es psible ejecutar Applets de Java de ningún md, incluyend el MiniApplet En las versines de Ggle Chrme sbre Micrsft Windws desde la 42 a la 44, la ejecución de Applets de Java está deshabilitada pr defect, pr l que es necesari habilitar manualmente esta característica siguiend este prcedimient: 1. Escribir la siguiente dirección en la barra de URL del navegadr: chrme://flags 2. Lcalizar el apartad: "Habilitar NPAPI" y presinar "Habilitar". 3. Reiniciar el navegadr. 114

115 Apple OS X y Linux En versines de Ggle Chrme iguales superires a la 42 n es psible ejecutar Applets de Java de ningún md, incluyend el MiniApplet 14.3 Diálgs de advertencia al usuari en Java 7u55 y psterires (incluyend Java 8) Dad que el MiniApplet se distribuye cm un Applet de Java genéric susceptible de ser usad en cualquier siti Web, n incrpra restriccines en este sentid. Java, a partir de la versión 7u55 bliga a ls Applets a indicar el siti Web ( al mens su dmini) en el que se van a publicar, mstrand un diálg de advertencia a ls usuaris finales si n se hace así. Para evitar ests diálgs, es necesari un prces pr parte del integradr cnsistente en ls siguientes pass: 1. Mdificación del JAR del MiniApplet para indicar el siti Web de publicación. a. Abra el JAR cm si de un ZIP se tratase (puede cambiar tempralmente la extensión de JAR a ZIP para mayr cmdidad). b. Mdifique el ficher META-INF/MANIFEST.MF, y dentr de este indique en el atribut Caller-Allwable-Cdebase el siti Web dnde va a publicar el MiniApplet, siguiend las instruccines publicadas en: nifest.html#caller_allwable c. Empaquete de nuev el JAR, para l cual puede usar una herramienta nrmal de cmpresión ZIP la prpia de empaquetad JAR de Java: 2. Refirma del MiniApplet. a. Dad que la mdificación del MANIFEST.MF invalidará la firma riginal del MiniApplet, debe refirmarl cn un certificad prpi, para ell puede usar la herramienta JarSigner de Java: html b. Es imprtante que utilice un certificad de firma de códig emitid pr una autridad de certificación recncida cm de cnfianza pr Oracle. Puede encntrar la lista de entidades recncidas en el Panel de Cntrl de Java, dentr del btón Gestinar Certificads de la pestaña Seguridad, y dentr de la ventana en la sección Autridades de Certificación de firmantes del Sistema (esta lista se actualiza cn relativa frecuencia, cnsulte siempre cn la versión más reciente de Java): 115

116 De frma general, puede encntrar infrmación sbre cm mdificar el MANIFEST.MF de un prgrama Java en: Puede encntrar más infrmación sbre este asunt en: En cualquier cas, actualice siempre el entrn de ejecución de Java de ls clientes de firma a la última versión dispnible Errr el cnjunt de claves n existe al firmar cn el almacén de claves de Windws En ciertas casines, y especialmente cuand se usan tarjetas de FNMT-RCM (CERES, DNIe, APE, etc.), al firmar en un entrn perativ Windws, la peración finaliza cn errr y se muestra en cnsla el mensaje El cnjunt de claves n existe ( Keyset des nt exist si se tiene un Windws en inglés). Este prblema, que si bien puede darse en cualquier versión de Windws es más cmún en Windws XP, n tiene slución, y se debe a una incmpatibilidad de Java cn ls cntrladres CAPI de Windws instalads en el sistema del usuari (pr ejempl, ls cntrladres de FNMT-RCM). 116

117 Pruebe a actualizar tant en entrn de ejecución de Java cm ls psibles cntrladres de tarjetas que tenga instalads a la última versión dispnible. Si el prblema se da únicamente al intentar firmar cn una tarjeta inteligente un almacén de claves distint del central de Windws, abra una incidencia cntra el prveedr de este hardware/sftware de almacén de claves Cn el navegadr Mzilla Firefx y DNIe (DNI Electrónic) el Applet se queda blquead y n muestra el diálg de selección de certificads, desblqueándse si retir el DNIe del lectr El cntrladr PKCS#11 ficial del DNIe n admite que se establezcan varias sesines de frma simultánea, y si pr cualquier razón (sesión SSL, etc.) el prpi navegadr Web Mzilla / Firefx tiene ya establecida una cmunicación cn el DNIe en el mment en el que el MiniApplet también l necesita, este últim se queda blquead esperand a que en navegadr Mzilla / Firefx cierre su sesión. El cierre de la sesión cntra el DNIe pr parte de Mzilla / Firefx puede tardar varis minuts si el usuari n interviene, pr l que cnviene frzar manualmente este cierre: Extraer el DNIe del lectr y vlverl a insertar just en el mment en el que se slicita la cntraseña del Repsitri Central de certificads de Mzilla Firefx (antes de intrducirla). Es psible que Mzilla / Firefx reabra la sesión en la reinserción (adelantándse al MiniApplet pr l que quizás necesite repetir la peración. Pdems indicar a Mzilla / Firefx que cierre la sesión pulsand el btón Lg ut teniend el dispsitiv DNIe PKCS#11 Mdule seleccinad en la ventana Dispsitivs de Seguridad del menú Opcines de Mzilla Firefx. Al igual que en el métd anterir, a veces es necesari repetir la peración varias veces, ya que Mzilla / Firefx reabre autmáticamente la cmunicación cn el DNIe sin dar tiemp al MiniApplet a utilizarl. En tras casines, el btón aparece deshabilitad aunque Mzilla / Firefx tenga una sesión abierta cntra el dispsitiv, cn l que n es psible aplicar este métd. 117

118 Este prblema surge principalmente en sistemas Linux/Slaris. Para ests sistemas se recmienda el us del cntrladr OpenDNIe para DNI electrónic. Puede encntrar este cntrladr en: https://frja.cenatic.es/prjects/pendnie/ 14.6 N se detecta la inserción/extracción del DNIe en el lectr (u tra tarjeta inteligente) A veces puede currir que el navegadr n detecta la extracción intrducción del DNIe (u tra tarjeta inteligente) en el lectr, pr l que si n hems intrducid la tarjeta previamente a que se arranque el cliente de firma, n se encntrará el certificad. Otr psible cas es que una vez cargad el cliente, se extraiga la tarjeta y, al realizar una peración de firma, el navegadr muestre ls certificads de la tarjeta (aunque ya n esté presente) falland al intentar utilizarl. Este es un prblema del navegadr en la gestión de ls dispsitivs criptgráfics (PKCS#11 para Mzilla y CSP para Internet Explrer), que n infrma a la sesión abierta en el almacén de certificads de ls cambis que se prducen en el mism. La slución más rápida al prblema es el insertar la tarjeta antes de que se prduzca la carga del cliente de firma El Applet n detecta ningún certificad baj Mzilla / Firefx El MiniApplet cuand se ejecuta en Linux Sun Slaris, necesita que las biblitecas NSS estén situadas en /usr/lib, /lib al mens dentr de un de ls directris incluids en la variable de entrn LD_LIBRARY_PATH. 118

Catálogo de aplicaciones de

Catálogo de aplicaciones de DIRECCIÓN GENERAL DE MODERNIZACIÓN ADMINISTRATIVA, PROCEDIMIENTOS E IMPULSO DE LA ADMINISTRACIÓN ELECTRÓNICA Platafrma de Validación y Firma @firma Catálg de aplicacines de Estabra está baj una licenciacreativecmmns

Más detalles

Manual del integrador del MiniApplet v1.2 del Cliente @firma

Manual del integrador del MiniApplet v1.2 del Cliente @firma DIRECCIÓN GENERAL DE MODERNIZACIÓN ADMINISTRATIVA, PROCEDIMIENTOS E IMPULSO DE LA ADMINISTRACIÓN ELECTRÓNICA Manual del integradr del MiniApplet v1.2 del Cliente @firma Índice de cntenids 1 Intrducción...6

Más detalles

Manual del integrador del MiniApplet v1.2 del Cliente @firma

Manual del integrador del MiniApplet v1.2 del Cliente @firma ADMINISTRATIVA, PROCEDIMIENTOS E IMPULSO DE LA ADMINISTRACIÓN ELECTRÓNICA Manual del integradr del MiniApplet v1.2 del Cliente @firma Índice de cntenids 1Intrducción... 3 1.1Prducts de tercers incluids

Más detalles

Manual del integrador del MiniApplet v1.3 del Cliente @firma

Manual del integrador del MiniApplet v1.3 del Cliente @firma DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y LAS Manual del integrador del MiniApplet v1.3 del Cliente @firma Índice de contenidos 1 Introducción...7 1.1 Productos de terceros incluidos con el...7 2 Requisitos

Más detalles

GUÍA DETALLADA DE INSTALACIÓN DEL DNI ELECTRÓNICO

GUÍA DETALLADA DE INSTALACIÓN DEL DNI ELECTRÓNICO GUÍA DETALLADA DE INSTALACIÓN DEL DNI ELECTRÓNICO CONTENIDO Requisits Hardware... 1 Requisits Sftware... 2 Instalación del módul criptgráfic para el DNIe... 2 Preguntas frecuentes... 5 Cóm sé que mi DNIe

Más detalles

REQUISITOS TÉCNICOS CONOCIMIENTOS DE INFORMÁTICA NECESARIOS. El acceso al AULA VIRTUAL no requiere conocimientos técnicos ni informáticos especiales.

REQUISITOS TÉCNICOS CONOCIMIENTOS DE INFORMÁTICA NECESARIOS. El acceso al AULA VIRTUAL no requiere conocimientos técnicos ni informáticos especiales. REQUISITOS TÉCNICOS La infrmática es cada vez más intuitiva y la platafrma Mdle elegida para el curs, es una herramienta de trabaj; pr l que sól es necesari un cncimient a nivel de usuari. N bstante, el

Más detalles

Administración Local Soluciones

Administración Local Soluciones SISTEMA INTEGRADO DE GESTIÓN DE EXPEDIENTES MODULAR (SIGM) PLATAFORMAS CERTIFICADAS EN AL SIGM 3.0 SIGM v3 Administración Lcal Slucines Cntrl de versines Versión Fecha dcument Cambi prducid 01 04-11-2009

Más detalles

Es importante destacar que el uso de cookies no proporciona datos personales del usuario, que de cara a Supercoaching permanece anónimo.

Es importante destacar que el uso de cookies no proporciona datos personales del usuario, que de cara a Supercoaching permanece anónimo. Plítica de ckies Infrmación sbre ckies USO DE COOKIES y FICHERO DE ACTIVIDAD. Este siti web utiliza ckies cuand un usuari navega pr sus páginas. Las ckies sn fichers enviads a un navegadr pr medi de un

Más detalles

Compatibilidad con formato de archivo Seclore

Compatibilidad con formato de archivo Seclore Cmpatibilidad cn frmat de archiv Seclre Cmpatibilidad cn frmat de archiv Seclre versión 2.0 Frmats de archiv y aplicacines cmpatibles cn gestión de derechs Este dcument describe ls frmats de archiv, aplicacines

Más detalles

Pack Comercio Electrónico

Pack Comercio Electrónico Pack Cmerci Electrónic Prgramación Páginas Web cn PHP + Marketing 75 + 45 HORAS ON-LINE CONTENIDOS: Prgramación Páginas Web cn PHP Prgramación cliente Prgramación de páginas web Presenta la necesidad de

Más detalles

Manual del integrador del MiniApplet v1.4 del y la compatibilidad de sus despliegues con AutoFirma y el mo vil

Manual del integrador del MiniApplet v1.4 del y la compatibilidad de sus despliegues con AutoFirma y el mo vil DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y LAS Manual del integradr del MiniApplet v1.4 del Cliente @firma y la cmpatibilidad de sus despliegues cn AutFirma y el Cliente @firma m vil Índice de cntenids

Más detalles

Manual del integrador del MiniApplet v1.5 del y la compatibilidad de sus despliegues con AutoFirma y el mo vil

Manual del integrador del MiniApplet v1.5 del y la compatibilidad de sus despliegues con AutoFirma y el mo vil Manual del integradr del MiniApplet v1.5 del Cliente @firma y la cmpatibilidad de sus despliegues cn AutFirma y el Cliente @firma m vil Índice de cntenids 1 Intrducción...7 1.1 Prducts de tercers incluids

Más detalles

Administración Local Soluciones

Administración Local Soluciones SISTEMA INTEGRADO DE GESTIÓN DE EXPEDIENTES MODULAR (SIGM) MANUAL DE CONFIGURACIÓN DEL PAGO TELEMÁTICO SIGM v3 Administración Lcal Slucines Cntrl de versines Versión Fecha edición Cambi prducid Autr 01

Más detalles

Compatibilidad con formato de archivo Seclore

Compatibilidad con formato de archivo Seclore Cmpatibilidad cn frmat de archiv Seclre Cmpatibilidad cn frmat de archiv Seclre versión 2.8 Frmats de archiv y aplicacines cmpatibles cn gestión de derechs Este dcument describe ls frmats de archiv, aplicacines

Más detalles

Registro de Autorización Empresa Venta y Asistencia Técnica de Comunidades Autónomas

Registro de Autorización Empresa Venta y Asistencia Técnica de Comunidades Autónomas Registr de Autrización Empresa Venta y Asistencia Técnica de Cmunidades Autónmas Manual de Us Versión: 1.3 28/05/2013 Cntrl de cambis Versión Fecha Revisad Resumen de ls cambis prducids 1.2 15-09-2010

Más detalles

65 HORAS. documentos. describe el. información. de la suite. Pág.1

65 HORAS. documentos. describe el. información. de la suite. Pág.1 Micrsft Access 2010 (Cmplet) 65 HORAS ON-LINE CONTENIDOS Intrducción a Office 2010 Intrducción a Office Intrducción a la suite fimática Micrsft Office 2010, presentand ls prgramas que la frman. Se describee

Más detalles

GUÍA RÁPIDA DE USO. Requisitos tecnológicos para el correcto funcionamiento de Bot PLUS 2.0.

GUÍA RÁPIDA DE USO. Requisitos tecnológicos para el correcto funcionamiento de Bot PLUS 2.0. GUÍA RÁPIDA DE USO NOVEDADES DE Bt PLUS 2.0 2014 Cóm se instala, accede y cnfigura? Requisits tecnlógics para el crrect funcinamient de Bt PLUS 2.0. Aplicación cmpatible cn ls siguientes sistemas perativs:

Más detalles

PROGRAMA FORMATIVO AvANZA

PROGRAMA FORMATIVO AvANZA Asesría y Organización de Frmación Cntinua Prgramación páginas web: servidr (PHP) Aplicacines Web Mdalidad: e-learning Duración: 56 Hras Códig: CAT00140 Objetiv Curs de desarrll de aplicacines web. Para

Más detalles

Sevillana de Informática Instalación, desinstalación e Incidencias comunes

Sevillana de Informática Instalación, desinstalación e Incidencias comunes Sevillana de Infrmática Instalación, desinstalación e Incidencias cmunes Instalación simple Tds ls prgramas se que se descargan desde nuestr siti Web, l hacen cm un ficher instaladr, sea cn extensión.exe

Más detalles

Consejería de Hacienda y Administración Pública. Cliente de firma electrónica. Consulta de configuración de usuario final en entorno Windows

Consejería de Hacienda y Administración Pública. Cliente de firma electrónica. Consulta de configuración de usuario final en entorno Windows de usuari final en entrn Windws Versión: v01r01 Fecha: 06/04/2011 Queda prhibid cualquier tip de expltación y, en particular, la reprducción, distribución, cmunicación pública y/ transfrmación, ttal parcial,

Más detalles

Madrid, 8 de febrero de 2016. erente de Recursos Humanos A TODOS LOS CENTROS/ SERVICIOS/UNIDADES

Madrid, 8 de febrero de 2016. erente de Recursos Humanos A TODOS LOS CENTROS/ SERVICIOS/UNIDADES ) Le remit la cnvcatria de ls curss de frmación en infrmática nline, destinada al Persnal de Administración y Servicis, cn el rueg de que le dé la máxima difusión entre td el persnal adscrit a ese Centr/Servici/Unidad.

Más detalles

Notificaciones Telemáticas Portal del Ciudadano MANUAL DE USUARIO. Versión 1.2

Notificaciones Telemáticas Portal del Ciudadano MANUAL DE USUARIO. Versión 1.2 20 Ntificacines Telemáticas Prtal del Ciudadan MANUAL DE USUARIO Versión 1.2 Manual de Usuari ÍNDICE 1. DESCRIPCIÓN GENERAL... 3 1.1. Alcance...3 1.2. Fluj de navegación...4 2. DESCRIPCIÓN FUNCIONAL...

Más detalles

INTRODUCCIÓN A BSCW CFIE VALLADOLID I (Mayo de 2003)

INTRODUCCIÓN A BSCW CFIE VALLADOLID I (Mayo de 2003) BSCW (Basic Supprt fr Cperative Wrk) es una herramienta de trabaj cperativ clabrativ a través de la web. El trabaj cperativ permite que ds más persnas interactúen e intercambien infrmación eliminand las

Más detalles

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación Vicerrectrad de Tecnlgías de la Infrmación y la Cmunicación Servici de cnexión remta mediante VPN-SSL Guía de usuari Última Actualización 30 de may de 2013 Históric de cambis Fecha Descripción Autr 24/06/13

Más detalles

PISIS Cliente Neo. Guía de Instalación y Uso Versión del documento: 1.8 Fecha: Octubre 10 de 2014

PISIS Cliente Neo. Guía de Instalación y Uso Versión del documento: 1.8 Fecha: Octubre 10 de 2014 PISIS Cliente Ne Guía de Instalación y Us Versión del dcument: 1.8 Fecha: Octubre 10 de 2014 1. Intrducción PISIS Cliente es una aplicación de escritri (desarrllada para ser utilizada en el sistema perativ

Más detalles

Realizar copias de seguridad de archivos

Realizar copias de seguridad de archivos Autr: Micrsft Licencia: Cita Fuente: Ayuda de Windws Realizar cpias de seguridad de archivs Para asegurarse de n perder sus archivs, debe realizar cpias de seguridad regulares de ls misms. Puede cnfigurar

Más detalles

MANUAL DE USUARIO DEL VISOR URBANÍSTICO

MANUAL DE USUARIO DEL VISOR URBANÍSTICO MANUAL DE USUARIO DEL VISOR URBANÍSTICO Manual Públic de usuari del Visr Urbanístic Versión: 1.0.85 Diciembre 2010 Página 1 PAGINA EN BLANCO Manual Públic de usuari del Visr Urbanístic Versión: 1.0.85

Más detalles

INFORMACION GENERAL TÉCNICA A CONOCER DURANTE EL TRASLADO

INFORMACION GENERAL TÉCNICA A CONOCER DURANTE EL TRASLADO INFORMACION GENERAL TÉCNICA A CONOCER DURANTE EL TRASLADO Tal y cm se ha indicad en el vide crprativ, el mvimient de persnal de la Agencia EFE se realizará pr fases, infrmándse a cada dirección/área de

Más detalles

1 INTRODUCCIÓN 4 1.1 OBJETIVO DE ESTE DOCUMENTO 4 1.2 DESCRIPCIÓN DE IMAGICLE APPLICATIONSUITE 4 2 IMAGICLE STONEFAX 5 2.1 UNA SOLUCIÓN DE SERVIDOR

1 INTRODUCCIÓN 4 1.1 OBJETIVO DE ESTE DOCUMENTO 4 1.2 DESCRIPCIÓN DE IMAGICLE APPLICATIONSUITE 4 2 IMAGICLE STONEFAX 5 2.1 UNA SOLUCIÓN DE SERVIDOR 1 INTRODUCCIÓN 4 1.1 OBJETIVO DE ESTE DOCUMENTO 4 1.2 DESCRIPCIÓN DE IMAGICLE APPLICATIONSUITE 4 2 IMAGICLE STONEFAX 5 2.1 UNA SOLUCIÓN DE SERVIDOR DE FAX IP FÁCIL, PRÁCTICA Y CONFIDENCIAL 5 3 STONEFAX

Más detalles

Instalación del sistema operativo Windows 8, en ordenadores personales de la CARM

Instalación del sistema operativo Windows 8, en ordenadores personales de la CARM Esta es una cpia auténtica imprimible de un dcument electrónic administrativ archivad pr la Cmunidad Autónma de Murcia, según el artícul 30.5 de la Ley 11/2007, de 22 de juni. Su autenticidad puede ser

Más detalles

También se pueden desarrollar módulos específicos y luego sumarlos al conjunto de módulos de SUBAS.

También se pueden desarrollar módulos específicos y luego sumarlos al conjunto de módulos de SUBAS. SUBAS es un prgrama desarrllad pr TRON Sftware que tiene pr bjet vincularse cn el ERP BAS Cmpany Steering de Buens Aires Sftware, para btener infrmación a cmpletar cn diferentes prcess que amplían las

Más detalles

GFacturaXML: Manual del Usuario. Fco. Sancha 22 Bajo G, Madrid tel fax

GFacturaXML: Manual del Usuario. Fco. Sancha 22 Bajo G, Madrid tel fax GFacturaXML: Manual del Usuari Rev visión: 4.0 Fc. Sancha 22 Baj G, 28034 Madrid tel 902195222 fax 913531281 c\alvar de Bazán 10-12 46010 Valencia tel 902195222 fax 963530610 Cntrl del Dcument Títul Manual

Más detalles

Cómo tomar ebooks en préstamo

Cómo tomar ebooks en préstamo Cóm tmar ebks en préstam A cntinuación se detallan ls pass a seguir para tmar ebks en préstam. Requisits previs Inici de sesión Cnsulta del catálg Préstam Requisits previs Para disfrutar de ebkpzuel es

Más detalles

Sistema Integral de Gestión y Evaluación

Sistema Integral de Gestión y Evaluación Sistema Integral de Gestión y Evaluación GUÍA PARA LA ACTUALIZACIÓN DE VERSIONES Versión 1-31/03/2015- CONICET Dirección de Infrmática Sistema Integral de Gestión y Evaluación - SIGEVA Guía para la actualización

Más detalles

ALUMNOS DE DOCTORADO. INSTRUCCIONES DE USO DE LAS AULAS DE INFORMÁTICA

ALUMNOS DE DOCTORADO. INSTRUCCIONES DE USO DE LAS AULAS DE INFORMÁTICA ALUMNOS DE DOCTORADO. INSTRUCCIONES DE USO DE LAS AULAS DE INFORMÁTICA Carretera de Utrera, Km.1 41013-SEVILLA. ESPAÑA. Tfn. (34) 95 434 92 58 Fax. (34) 95 434 92 62 INTRODUCCIÓN. La Universidad Pabl de

Más detalles

encriptación de clave pública que utilizan los navegadores y servidores web para transmitir información importante.

encriptación de clave pública que utilizan los navegadores y servidores web para transmitir información importante. Cnfiguración SSL Ggle Mini incluye un certificad SSL (Secure Sckets Layer, nivel de zócal cn seguridad) que puede utilizarse durante la instalación y la cnfiguración de la red. Se trata de un prtcl de

Más detalles

Conjunto de servicios de los módulos funcionales. Entre los servicios que se ofrecen, destacamos:

Conjunto de servicios de los módulos funcionales. Entre los servicios que se ofrecen, destacamos: Cnjunt de servicis de ls móduls funcinales Entre ls servicis que se frecen, destacams: Cmpnente DRI Cmpnente encargad de la rquestación de ls diferentes servicis lógics que cmpnen el nd de frma que permita

Más detalles

Controladores de producto SMART 11.3 para ordenadores Windows y Mac

Controladores de producto SMART 11.3 para ordenadores Windows y Mac Ntas de la versión Cntrladres de prduct SMART 11.3 para rdenadres Windws y Mac Acerca de estas ntas de la versión Estas ntas de la versión resumen las características de ls cntrladres de prduct SMART 11

Más detalles

PROGRAMACIÓN DE PÁGINAS WEB SERVIDOR (ASP.NET)

PROGRAMACIÓN DE PÁGINAS WEB SERVIDOR (ASP.NET) PROGRAMACIÓN DE PÁGINAS WEB SERVIDOR (ASP.NET) Aplicacines web Curs de desarrll de aplicacines web. Para ell se estudia la prgramación de la parte servidr cn la tecnlgía ASP.NET y el servidr de bases de

Más detalles

Especificaciones de Esquema de Comunicación con SIIF

Especificaciones de Esquema de Comunicación con SIIF De Especificacines de Esquema de Cmunicación cn SIIF A Mntevide, Octubre de 2009 Administración Nacinal de Usinas y Trasmisines Eléctricas Cnsultría Externa INDICE 1 INTRODUCCIÓN... - 3-1.1 A QUIÉN ESTÁ

Más detalles

Registro de Documentación de Actividades Reguladas RINR art. 74

Registro de Documentación de Actividades Reguladas RINR art. 74 Registr de Dcumentación de Actividades Reguladas RINR art. 74 Manual de Us Versión: 1.3 27/05/2013 Cntrl de cambis Versión Fecha Revisad Resumen de ls cambis prducids 1.2 15-09-2010 1.3 27-05-2013 LOPD

Más detalles

efactura Red Eléctrica

efactura Red Eléctrica efactura Red Eléctrica Guía Rápida Prveedr Carga Manual de Facturas May 2014 1 1. INTRODUCCIÓN... 3 2. ACCESO AL PORTAL DE EFACTURA... 3 3. MIS DATOS DE USUARIO... 6 4. DESCONECTAR... 6 5. AYUDA... 6 6.

Más detalles

Paessler - Webserver Stress Tool Características

Paessler - Webserver Stress Tool Características Paessler - Webserver Stress Tl Características Webserver Stress Tl simula gran númer de usuaris que acceden a un siti web a través de HTTP / HTTPS. El sftware puede simular hasta 10.000 usuaris que de

Más detalles

MICROSOFT SQL SERVER 2005 Bases de Datos

MICROSOFT SQL SERVER 2005 Bases de Datos MICROSOFT SQL SERVER 2005 Bases de Dats Estudia el servidr de bases de dats empresarial Micrsft SQL Server 2005 centrándse especialmente en el punt de vista de un diseñadr prgramadr de bases de dats, per

Más detalles

LIBRO DE CLASES ELECTRÓNICO Manual de Usuario Administrativo OTEC ACEPTA S.A.

LIBRO DE CLASES ELECTRÓNICO Manual de Usuario Administrativo OTEC ACEPTA S.A. LIBRO DE CLASES ELECTRÓNICO Manual de Usuari Administrativ OTEC ACEPTA S.A. TABLA DE CONTENIDOS TABLA DE CONTENIDOS... 2 1.- INTRODUCCIÓN... 4 1.1.- DEFINICIONES Y ACRÓNIMOS... 4 2.- APLICACIONES DEL SISTEMA...

Más detalles

Envío de Factura Electrónica por Mail

Envío de Factura Electrónica por Mail CLIENTES Enví de Factura Electrónica pr Mail 0416 r 1.2 MBA 3 16.3 Enví de Factura Electrónica pr Mail 1. INTRODUCCIÓN: Esta funcinalidad permite el enví pr crre electrónic (email) de las facturas electrónicas

Más detalles

Instalación y Configuración de la interfaz de TPV. www.chefexact.es

Instalación y Configuración de la interfaz de TPV. www.chefexact.es Instalación y Cnfiguración de la interfaz de TPV INSTALACIÓN Una vez descargad el ficher de la Interfaz se instalara en el mism rdenadr dnde este TPVFacil instalada, haga dble clic para cmenzar la instalación,

Más detalles

Registro de Solicitudes de Inspección

Registro de Solicitudes de Inspección Registr de Slicitudes de Inspección Manual de Us Versión: 1.3 27/05/2013 Cntrl de cambis Versión Fecha Revisad Resumen de ls cambis prducids 1.0 25-06-2009 Versión inicial 1.1 23-03-2010 1.2 15-09-2010

Más detalles

EXPEDIENTE: id0106092013

EXPEDIENTE: id0106092013 EXPEDIENTE: id0106092013 Plieg de Prescripcines Técnicas para la cntratación de la elabración del Cntenid frmativ del Itinerari Generadr de Cntenids dentr del pryect Escuela de prfesinales Digitales del

Más detalles

Serials Solutions. Guía de referencia rápida del Client Center

Serials Solutions. Guía de referencia rápida del Client Center Guía de referencia rápida del Client Center Serials Slutins Guía de referencia rápida del Client Center Bienvenids a la herramienta administrativa de Serials Slutins, Client Center!. Esta guía de referencia

Más detalles

Limpiar la caché en navegadores web

Limpiar la caché en navegadores web Limpiar la caché en navegadres web Ls navegadres web almacenan muchas partes del siti en su caché web lcal (nrmalmente se encuentra en el disc dur), para que se descargue sl una vez. Est incluye ls artículs

Más detalles

Guía SERVICIOS WEB PARA BIBLIOTECAS EN DICCIONARIO. (19 julio 2012)

Guía SERVICIOS WEB PARA BIBLIOTECAS EN DICCIONARIO. (19 julio 2012) Guía SERVICIOS WEB PARA BIBLIOTECAS EN DICCIONARIO (19 juli 2012) ÍNDICE 1. DESCRIPCIÓN GENERAL... 4 2. INTEGRAR DOCUMENTOS EN BIBLIOTECAS EN DICCIONARIO... 4 2.1. DEFINICIÓN DE LOS MÉTODOS... 5 2.2. EJEMPLOS

Más detalles

Los requisitos técnicos son mínimos, los mismos que se necesitan para conectarse a Internet.

Los requisitos técnicos son mínimos, los mismos que se necesitan para conectarse a Internet. LOS REQUISITOS TÉCNICOS En la actualidad, el Aula Virtual de la UAH utiliza las platafrmas de telefrmación WebCT(Web Curse Tls) y Blackbard LS CE v.8., unas platafrmas de gestión del cncimient rientada

Más detalles

Hosting WP. Guía básica. Comienza tu primer WordPress. Índice

Hosting WP. Guía básica. Comienza tu primer WordPress. Índice Hsting WP - Guía básica Hsting WP Guía básica Cmienza tu primer WrdPress Índice 1. Cóm gestinar tu Hsting WP 2. Instala tu WrdPress 3. Opcines de cnfiguración 4. Primers pass cn tu WrdPress 5. Crea tus

Más detalles

Guía de Instalación. char utile online 1.0.0.0

Guía de Instalación. char utile online 1.0.0.0 Guía de Instalación. char utile nline 1.0.0.0 char utile nline Guía de Instalación 1 de 6 1) Requerimients del sistema 2) Licenciamient de utile nline 3) Descarga utile nline 4) Prcedimient de instalación

Más detalles

Viafirma Inbox - Manual de Integración - v1.5.0

Viafirma Inbox - Manual de Integración - v1.5.0 Viafirma Inbx - Manual de Integración - v1.5.0 4 de Octubre de 2011 ÍNDICE 1. INTRODUCCIÓN... 5 1.1. Intrducción... 6 2. SEGURIDAD DEL API DE INTEGRACIÓN... 7 2.1. Seguridad del API de integración... 8

Más detalles

Windows 7 60 HORAS. este sistema operativo, Windows. su barra de. alternar entre las. Se estudia cómo. o Instalación. Pág.1

Windows 7 60 HORAS. este sistema operativo, Windows. su barra de. alternar entre las. Se estudia cómo. o Instalación. Pág.1 Windws 7 Hme Premium 60 HORAS ON-LINE CONTENIDOS Windws 7 Instalación Presenta Windws 7 y describe cada una de las edicines dispnibles de este sistema perativ. Seguidamente estudia el prces de instalación

Más detalles

1 Departamento de Informática y Comunicaciones. IES San Juan Bosco (Lorca-Murcia)

1 Departamento de Informática y Comunicaciones. IES San Juan Bosco (Lorca-Murcia) 1 Departament de Infrmática y Cmunicacines. IES San Juan Bsc (Lrca-Murcia) Pryect de Implantación y Desarrll de una Aplicación Web (IDAW) 2º ASIR Blsa de Trabaj Curs 2013-2014 2 Departament de Infrmática

Más detalles

1.- ESCRITORIO GNOME 2.- SISTEMA: PREFERENCIAS 3.- SISTEMA: ADMINISTRACIÓN

1.- ESCRITORIO GNOME 2.- SISTEMA: PREFERENCIAS 3.- SISTEMA: ADMINISTRACIÓN Ubuntu 8.04 (1/5) 1.- ESCRITORIO GNOME 1.1.- Panel inferir 1.2.- Panel superir 1.3.- Applets 1.4.- Fnd de escritri 1.5.- Gestr de ventanas 1.6.- Navegadr de disc nautilus 2.- SISTEMA: PREFERENCIAS 2.1.-

Más detalles

INSTALACION DE TOKEN GEMALTO DESDE CD

INSTALACION DE TOKEN GEMALTO DESDE CD PÚBLICO Página Página 1 de 8 1 OBJETIVO Describir el prces de instalación Tken en el sistema perativ Windws versines XP, Vista, 7 y Mac OS Lin. 2 ALCANCE Dirigid a tds ls clientes que adquieran renueven

Más detalles

Telealta de Abonados. Guía de Telealta en CST BIOINGENIERÍA ARAGONESA S.L. Índice. Vivienda del Abonado. Central de CST

Telealta de Abonados. Guía de Telealta en CST BIOINGENIERÍA ARAGONESA S.L. Índice. Vivienda del Abonado. Central de CST Telealta de Abnads Índice 1. El Instaladr a. Requerimients de Equip b. Prces de TeleAlta c. Prgramación del Terminal cn CSTGestin 2. El Centr a. Cntratación de línea 3G b. Creación de Red Privada Virtual

Más detalles

Eurowin 8.0 SQL. Manual de EW-LOG. Revisión de incidencias

Eurowin 8.0 SQL. Manual de EW-LOG. Revisión de incidencias Eurwin 8.0 SQL Manual de EW-LOG Revisión de incidencias Dcument: me_ewlg Edición: 05 Nmbre: Manual de Ewlg Fecha: 03-02-2011 Manual de Ewlg Tabla de cntenids 1. Intrducción... 2 1.1. Qué es el Registr

Más detalles

Servicio de Registro de Solicitud de Acreditaciones para Dirigir u Operar Instalaciones de Radiodiagnóstico Médico

Servicio de Registro de Solicitud de Acreditaciones para Dirigir u Operar Instalaciones de Radiodiagnóstico Médico Servici de Registr de Slicitud de Acreditacines para Dirigir u Operar Instalacines de Radidiagnóstic Médic Manual de Versión: 1.0 25/06/2009 Cntrl de cambis Versión Fecha Revisad Resumen de ls cambis prducids

Más detalles

Manual de Instrucciones de la aplicación Informática: REGISTRO DE ENTIDADES

Manual de Instrucciones de la aplicación Informática: REGISTRO DE ENTIDADES MANUAL DE INSTRUCCIONES En general, las slicitudes de inscripción en el Registr de Entidades de I+D del Ministeri de Industria, Turism y Cmerci, se cumplimentaran de acuerd cn l indicad en su crrespndiente

Más detalles

1. Objetivo de la aplicación

1. Objetivo de la aplicación 1. Objetiv de la aplicación El bjetiv de esta aplicación es el de dispner de un canal de participación ciudadana en el que recibir preguntas de interés para ls ciudadans. Desde la página principal del

Más detalles

Metodología de trabajo para la creación de un sitio web. Servicio de Comunicación Digital

Metodología de trabajo para la creación de un sitio web. Servicio de Comunicación Digital Metdlgía de trabaj para la creación de un siti web Servici de Cmunicación Digital Fecha de última actualización: 31 de may de 2013 1 El bjetiv de este dcument es describir tds ls aspects relacinads cn

Más detalles

Binary-Rain Informe de Verificación de Documento Versión 1.3. Historia de revisiones

Binary-Rain Informe de Verificación de Documento Versión 1.3. Historia de revisiones Binary-Rain Infrme de Verificación de Dcument Versión 1.3 Histria de revisines Fecha Versión Descripción Autr 01/09/2012 1.0 Creación del dcument Matias Bancher 01/09/2012 1.1 Revisión de calidad Camil

Más detalles

Especificación de Requisitos según el estándar de IEEE 830

Especificación de Requisitos según el estándar de IEEE 830 Especificación de Requisits según el estándar de IEEE 830 Tabla de cntenid 1.Intrducción... 2 1.1 Prpósit... 2 1.1 Ámbit del Sistema... 2 2. Descripción General... 3 2.1 Perspectiva del Prduct... 3 2.2

Más detalles

EXCMO. AYUNTAMIENTO De BAEZA (Jaén) Dpto. Informática

EXCMO. AYUNTAMIENTO De BAEZA (Jaén) Dpto. Informática PLIEGO DE PRESCRIPCIONES TECNICAS PARA LA ADJUDICACIÓN DEL CONTRATO DE SERVICIOS DE UN SOFTWARE INTEGRAL DE GESTION MUNICIPAL, POR PROCEDIMIENTO ABIERTO. INDICE 1. INTRODUCCIÓN....2 2. ÁMBITO....2 3. OBJETO

Más detalles

SILABO INFORMATICA E INTERNET

SILABO INFORMATICA E INTERNET INSTITUTO DE EDUCACION SUPERIOR TECNOLOGICO PUBLICO PEDRO A DEL AGUILA HIDALGO AREA DE FORMACION TRANSVERSAL SILABO INFORMATICA E INTERNET 1. DATOS INFORMATIVOS 1.1 Mdul Transversal : INFORMÁTICA 1. Unidad

Más detalles

Guía de integración del módulo de Redsys en Magento

Guía de integración del módulo de Redsys en Magento Guía de integración del módul de Redsys en Magent Versión: 2.2 25/08/2015 Referencia RS.ED.IND.MAN.0035 Redsys C/ Francisc Sancha, 12 28034 Madrid ESPAÑA Versión: 2.2 i Guía de integración Redsys en Magent

Más detalles

Instalación y configuración de SAE-Móvil

Instalación y configuración de SAE-Móvil Instalación y cnfiguración de SAE-Móvil Para pder cnfigurar SAE-Móvil se necesita realizar l siguiente: 1. Cnfigurar el IIS que se tenga de acuerd al Sistema Operativ. 2. Instalar y/ actualizar Aspel-SAE

Más detalles

INSTALACIÓN DE LECTOR VÍA WEB

INSTALACIÓN DE LECTOR VÍA WEB INSTALACIÓN DE LECTOR VÍA WEB Última actualización: Febrer 2016 El presente dcument tiene pr finalidad mencinar ls pass a seguir para efectuar exitsamente la instalación del Lectr de Tarjetas Inteligentes.

Más detalles

Windows XP Profesional Completo

Windows XP Profesional Completo Índice de cntenid Windws XP Prfesinal Cmplet Objetivs: Curs para cncer y aprender a manejar cmpletamente el sistema perativ Micrsft Windws XP Prfessinal, analizand desde el entrn del mism hasta sus herramientas

Más detalles

Filtro de Correo Electrónico

Filtro de Correo Electrónico Filtr de Crre Electrónic Indice 1. Intrducción. 2. Características. 3. Instalación 4. Us 1. Intrducción Filtr de Crre Electrónic es una funcinalidad del servici Pack Seguridad Ttal que prtege ante el crre

Más detalles

TUTORIAL SOBRE CARGA DE REGISTROS EN KOHA KOBLI. (Importación de registros en MARC 21)

TUTORIAL SOBRE CARGA DE REGISTROS EN KOHA KOBLI. (Importación de registros en MARC 21) TUTORIAL SOBRE CARGA DE REGISTROS EN KOHA KOBLI (Imprtación de registrs en MARC 21) ÍNDICE 1 Transfrmación y preparación de ls fichers a cargar...3 2 Carga de registrs a Kbli...3 Pas 1. Se carga el archiv.mrc

Más detalles

Digitalización de Documentos en Papel. Solución de Digitalización Aplika-Indexing

Digitalización de Documentos en Papel. Solución de Digitalización Aplika-Indexing Digitalización de Dcuments en Papel Slución de Digitalización Aplika-Indexing Índice Intrducción...1 Digitalización de dcuments Aplika-Indexing... 1 Ingres a la aplicación... 1 Creación de dcuments...3

Más detalles

AVANCE SOLUCIONES INFORMÁTICAS. Preguntas Frecuentes SGTaller. Cómo respaldo la información del programa?

AVANCE SOLUCIONES INFORMÁTICAS. Preguntas Frecuentes SGTaller. Cómo respaldo la información del programa? Cóm respald la infrmación del prgrama? La base de dats de SGTaller se encuentra pr defect en C:\SGTaller 2\Base\Service.fdb Ese archiv cntiene tda la infrmación. Si Ud. a parte tiene reprtes persnalizads,

Más detalles

Se adjuntará en el SOBRE A- DOCUMENTACIÓN GENERAL, el certificado acreditativo de dicha visita expedido por EGARSAT.

Se adjuntará en el SOBRE A- DOCUMENTACIÓN GENERAL, el certificado acreditativo de dicha visita expedido por EGARSAT. ANEXO Nº 3. PLIEGO DE PRESCRIPCIONES TÉCNICAS QUE HA DE REGIR LA ADJUDICACIÓN, MEDIANTE PROCEDIMIENTO ABIERTO, DEL CONTRATO DE SUMINISTRO, MANTENIMIENTO E INSTALACIÓN DE EQUIPOS Y SISTEMAS NECESARIOS PARA

Más detalles

Microsoft Excel 2007 (Completo)

Microsoft Excel 2007 (Completo) Índice de cntenid Micrsft Excel 2007 (Cmplet) Objetivs: Curs para aprender a utilizar la hja de cálcul Micrsft Excel 2007, explicand tdas las funcines que la aplicación psee y viend el us de este prgrama

Más detalles

INFORMACIÓN ADICIONAL PARA LA PETICIÓN Y DESCARGA DE FICHEROS DEL IMPUESTO SOBRE ACTIVIDADES ECONÓMICAS Y REQUISITOS TÉCNICOS

INFORMACIÓN ADICIONAL PARA LA PETICIÓN Y DESCARGA DE FICHEROS DEL IMPUESTO SOBRE ACTIVIDADES ECONÓMICAS Y REQUISITOS TÉCNICOS INFORMACIÓN ADICIONAL PARA LA PETICIÓN Y DESCARGA DE FICHEROS DEL IMPUESTO SOBRE ACTIVIDADES ECONÓMICAS Y REQUISITOS TÉCNICOS 1 PETICIÓN DE FICHEROS DE ACTIVIDADES ECONÓMICAS Para la slicitud de archivs

Más detalles

Aranda SERVICE DESK WEB

Aranda SERVICE DESK WEB NOMBRE DEL PRODUCTO: ARANDA SERVICE DESK WEB RC1 8.11.0 VERSIÓN DE ACTUALIZACIÓN QUE SE LIBERA: 8.11.1 LISTADO DE ARCHIVOS Nmbre de Archiv Versión Tamañ (En Bytes) Destin del Archiv (Ruta) DESCRIPCION

Más detalles

El agente de software de Dr.Web SaaS

El agente de software de Dr.Web SaaS El agente de sftware de Dr.Web SaaS Antes de empezar Antes de instalar el sftware en el rdenadr dispsitiv móvil, tenga en cuenta que cada suscripción tiene su prpi agente de sftware, que debe ser descargad

Más detalles

INTRANET NEGOCIOS. Preguntas Frecuentes: Intranet Negocios

INTRANET NEGOCIOS. Preguntas Frecuentes: Intranet Negocios Preguntas Frecuentes: Intranet Negcis ÍNDICE 1. Temas Generales... 2 2. Acces de Usuaris... 3 3. Cnectr Intranet Negcis... 6 4. Instalación del Cnectr Intranet Negcis... 8 5. Gestión y peración... 10 1

Más detalles

Mejoras en el re-instalable No. 2 de Aspel-Caja 3.0

Mejoras en el re-instalable No. 2 de Aspel-Caja 3.0 Mejras en el re-instalable N. 2 de Aspel-Caja 3.0 En este númer de Enlace Aspel, se describen las mejras que se realizarn al Sistema Aspel- Caja 3.00 cn el re-instalable N. 2, la frma en la que se pueden

Más detalles

Instalación de Winisis en Windows 7 64 bits Ernesto Spinak 28/06/2011, borrador 1.3

Instalación de Winisis en Windows 7 64 bits Ernesto Spinak 28/06/2011, borrador 1.3 Instalación de Winisis en Windws 7 64 bits Ernest Spinak 28/06/2011, brradr 1.3 Intrducción Winisis es una aplicación Windws que usa librerías de prgramación para sistemas de 16 y 32 bits, pr l cual n

Más detalles

HOWTO: Cómo configurar el túnel VPN SLL oficina remota (gateway) a oficina remota

HOWTO: Cómo configurar el túnel VPN SLL oficina remota (gateway) a oficina remota HOWTO: Cóm cnfigurar el túnel VPN SLL ficina remta (gateway) a ficina remta Cass de us para cnfigurar VPN cn GateDefender Integra Panda Security desea que btenga el máxim benefici de sus unidades GateDefender

Más detalles

Consideraciones sobre la remisión de información en XML (Revisión 18-05-09)

Consideraciones sobre la remisión de información en XML (Revisión 18-05-09) Cnsideracines sbre la remisión de infrmación en XML (Revisión 18-05-09) 1. Prcedimient de generación de un archiv XML...1 2. Herramientas para el tratamient de dcuments XML...2 3. Errres más cmunes en

Más detalles

SGNTJ INTCF. Manual de Solicitud de Alta en el Sistema de Relación de Empresas (SRE) del Instituto Nacional de Toxicología y Ciencias Forenses (INTCF)

SGNTJ INTCF. Manual de Solicitud de Alta en el Sistema de Relación de Empresas (SRE) del Instituto Nacional de Toxicología y Ciencias Forenses (INTCF) Manual de Slicitud de Alta en el SGNTJ INTCF Manual de Slicitud de Alta en el Sistema de Relación de Empresas (SRE) del Institut Nacinal de Txiclgía y Ciencias Frenses (INTCF) Manual de Slicitud de Alta

Más detalles

Situación actual. Pliego de prescripciones técnicas. Pertsonal Saila. Gaia: Arrasaterako Informazio Sistema Geografikoa - GIS Hasiera data: 2009/09/15

Situación actual. Pliego de prescripciones técnicas. Pertsonal Saila. Gaia: Arrasaterako Informazio Sistema Geografikoa - GIS Hasiera data: 2009/09/15 Pertsnal Saila Titularra: INFORMATIKA Plieg de prescripcines técnicas PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA Diseñ, Creación e Implementación de la Base de Dats Cartgráfica del Ayuntamient de Arrasate-

Más detalles

MANUAL DE USUARIO MODELO WEB DESPACHO IDEAL - MODO SIMULACIÓN

MANUAL DE USUARIO MODELO WEB DESPACHO IDEAL - MODO SIMULACIÓN MANUAL DE USUARIO MODELO WEB DESPACHO IDEAL - MODO SIMULACIÓN INTRODUCCIÓN Esta primera versión del mdul Web para el cálcul del Despach Ideal que XM pne a dispsición de tds ls agentes generadres del Mercad

Más detalles

Preguntas Frecuentes. En qué podemos ayudarte?

Preguntas Frecuentes. En qué podemos ayudarte? En qué pdems ayudarte? Qué necesit para acceder a Mi? Teng prblemas para acceder mediante mi certificad digital Cuáles sn las cndicines legales del servici? Pr qué teng que aceptar el avis legal? Qué seguridad

Más detalles

PLIEGO DE PRESCRIPCIONES TÉCNICAS

PLIEGO DE PRESCRIPCIONES TÉCNICAS PLIEGO DE PRESCRIPCIONES TÉCNICAS para la atención de primer nivel a usuaris del Tribunal Cnstitucinal (expediente nº 2013/00515) ÍNDICE 1. ANTECEDENTES 2. ALCANCE DEL PROYECTO 3. PERFIL REQUERIDO 4. TITULACIÓN

Más detalles

MICROSOFT OFFICE. MODULO 1. INTRODUCCIÓN El entorno Windows y el paquete Office.

MICROSOFT OFFICE. MODULO 1. INTRODUCCIÓN El entorno Windows y el paquete Office. MICROSOFT OFFICE DURACION: 50 HORAS Ls participantes al finalizar la acción frmativa serán capaces de: Obtener ls cncimients y las habilidades necesarias para manejar ls prgramas de Micrsft Office a nivel

Más detalles

Manual para instalación de Teléfono Virtual: X Lite.

Manual para instalación de Teléfono Virtual: X Lite. Asterisk@Hme Manual para instalación de Teléfn Virtual: X Lite. Primer debe de tener instalad el Prgrama X Lite, para psterirmente pasar a cnfigurar su Extensión y Nmbre del usuari de la misma. El prgrama

Más detalles

Cómo consultar el catálogo y localizar un documento

Cómo consultar el catálogo y localizar un documento Cóm cnsultar el catálg y lcalizar un dcument El catálg del Servici de Biblitecas de la UAB permite lcalizar ls dcuments que se encuentran en las biblitecas de la Universidad en cualquier frmat: librs,

Más detalles

SISTEMAS OPERATIVOS. Pág. 1

SISTEMAS OPERATIVOS. Pág. 1 Un Sistema perativ es un sftware que actúa de interfaz entre ls dispsitivs de Hardware y las aplicacines (prgramas) utilizads pr el usuari para manejar un equip infrmátic. Es el respnsable de gestinar

Más detalles

Terminología de App Orchestration 2.5

Terminología de App Orchestration 2.5 Terminlgía de App Orchestratin 2.5 Última actualización: 06/08/14 Página 1 2014 Citrix Systems, Inc. Reservads tds ls derechs. Terminlgía Cntenid Elements de App Orchestratin... 3 Dminis... 4 Implementacines

Más detalles