Changelog

Estos son los cambios producidos entre versiones

Arangi 1.5.1

  • [Improvement] ARANGI-202: Poder trabajar con la versión FIPS de Bouncy Castle.
  • [Bug] ARANGI-216: El objeto obtenido tras firmar un CMS no es validable.
  • [Bug] ARANGI-215: Si la respuesta OCSP no tiene contentType se produce un NullPointerException en lugar de un error controlado.
  • [Bug] ARANGI-214: Al guardar un XAdES con cabecera XML sin encoding se produce un NullPointerException.
  • [Bug] ARANGI-213: Algunas versiones de Java devuelven como algoritmo de firma de los certificados algo no esperado por Arangí.
  • [Improvement] ARANGI-212: El método getPositionPseudonim de CertificadoEmpleado debe llamarse getNRPPseudonim.
  • [Bug] ARANGI-211: Las clases para tratar certificados de la ACCV tienen una referencia a iText en los import.
  • [Bug] ARANGI-210: Al completar a PAdES-LTV se produce un error porque una comparación en iText no funciona igual con la versión 1.58 de BC.

Arangi 1.5.0

  • [Task] ARANGI-209: Crear una versión que funcione con Bouncy Castle 1.58.

Arangi 1.4.11

  • [Task] ARANGI-208: Añadir las cadenas de certificación para SHA-1 y SHA-2.
  • [Task] ARANGI-207: En Java 9 se han eliminado las clases del paquete sun.misc que trataban con Base64.
  • [Task] ARANGI-206: Con Java 9 no funciona el proveedor PKCS#11 de Sun.
  • [Improvement] ARANGI-205: En las firmas PDF y PAdES tener en cuenta que la firma puede ser un CAdES.
  • [Bug] ARANGI-204: No se pueden validar firmas longevas de los dos certificados intermedios (SHA-1 y SHA-2).

Arangi 1.4.10

  • [New Feature] ARANGI-203: Nuevas versiones de certificados compatibles con eiDAS.

Arangi 1.4.9

  • [New Feature] ARANGI-199: Añadir validación y obtención de campos de certificados mediante @Firma 6 DSS.
  • [Task] ARANGI-201: Cambiar los certificados del caList por los resellados con SHA-2.
  • [Bug] ARANGI-200: Se ha detectado algún caso en el que se borra el temporal del PDF cuando aun se está tratando con el objeto.
  • [Bug] ARANGI-198: Se han encontrado firmas PKCS#7 que provocan una excepción al validar el sello de tiempos.
  • [Bug] ARANGI-197: Si se lanzan varios threads que realizan operaciones de resellado XAdES se produce una excepción.

Arangi 1.4.8

  • [Bug] ARANGI-189: En los PAdES-LTV añadir el certificado de firma del sello de archivo al DSS.
  • [Bug] ARANGI-188: En caso de firma XAdES con una plantilla XML poder elegir dónde se situará la firma.
  • [Bug] ARANGI-187: Si se genera un XAdES con una plantilla XML la codificación de la firma ha de ser la de la plantilla.
  • [New Feature] ARANGI-183: En PDF y PAdES obtener los sellos con el algoritmo de hashing de la firma.
  • [New Feature] ARANGI-184: En firmas XAdES-X-L poder utilizar CRL si no se puede obtener la información de validación mediante OCSP.
  • [Task] ARANGI-185: Cambios por los nuevos perfiles 2016 (Entidad, Representante, Seudónimo, Sello y Sede).
  • [Task] ARANGI-186: Eliminar las clases para trabajar con almacenes en cliente.

Arangi 1.4.7

  • [New Feature] ARANGI-181: Añadir certificados de representante de entidad.
  • [Improvement] ARANGI-180: En firmas XAdES poder definir el algoritmo de hashing utilizado al llamar a la TSA.
  • [New Feature] ARANGI-176: Firmas XAdES con SignaturePolicyIdentifier y SignatureProductionPlace.
  • [New Feature] ARANGI-175: Poder crear firmas XAdES enveloped.

Arangi 1.4.6

  • [Bug] ARANGI-173: En el método isValidSignatureOnlyWithHash si el certificado de firma está caducado se devuelve una excepción.
  • [Improvement] ARANGI-174: Añadir un método a la clase TimeStamp que obtenga el campo TSA del sello.
  • [Improvement] ARANGI-172: Poder realizar todo tipo de firmas con algoritmos diferentes al SHA1WithRSA.

Arangi 1.4.5

  • [Improvement] ARANGI-162: A la hora de completar a XAdES-X-L no se incluye la información de validación del certificado de TSA y su cadena.
  • [Improvement] ARANGI-171: A la hora de firmar hashes siempre se hace con sha-1. Poder utilizar otros protocolos.
  • [Task] ARANGI-161: Cambiar el OID de los PKCS#7 y CMS para que sean compatibles con @Firma 6.
  • [New Feature] ARANGI-167: Crear una interfaz que cumplan los certificados de empleado (EP, PE y Seudónimo).
  • [Bug] ARANGI-159: En el método BasePDFSignature.getSigningCertificate no tiene en cuenta que el certificado de firma puede ser autofirmado.
  • [Improvement] ARANGI-164: Las firmas PKCS#7/CMS sólo validan si el hashing utiliza el protocolo SHA-1. Poder utilizar otros protocolos.
  • [Bug] ARANGI-165: Los XAdES incluyen el tag DataObjectFormat con un Enconding igual a Null, lo que provoca una excepción en las clases del MITyC.
  • [Bug] ARANGI-168: No debe ser obligatorio que todos los certificados implicados en una firma PAdES estén en el DSS.
  • [New Feature] ARANGI-160: Nuevos certificados sw y en la nube para pertenencia a empresa y seudónimo.
  • [New Feature] ARANGI-170: Poder crear firmas XAdES con SignerRole.
  • [Task] ARANGI-169: Tener en cuenta que como entrada en el VRI de PAdES puede venir algo que no es una referencia a firma.

Arangi 1.4.4

  • [Bug] ARANGI-157: Con Java8 se produce un error al arrancar el Provider PKCS#11 de Sun del Manager de Mozilla si el path donde está instalado Firefox tiene espacios.
  • [New Feature] ARANGI-154: Crear en el sello de tiempos un método estático para generar peticiones.
  • [Bug] ARANGI-152: En los certificados sin SAN aparece un NullPointerException en el método getCertificateEmail.
  • [Improvement] ARANGI-149: Hacer que las operaciones sobre tarjetas funcionen con Java 8 de 64 bits.
  • [Task] ARANGI-158: La clase que trabaja con el almacén de Mozilla no funciona con la versión 37 de Firefox.
  • [New Feature] ARANGI-150: Poder añadir extensiones a los sellos de tiempo.
  • [Improvement] ARANGI-155: Poder validar certificados de la FNMT: el raiz no tiene common name.
  • [Bug] ARANGI-148: Tener en cuenta en el tratamiento de PAdES-LTV que el PDF puede tener huecos de firma vacios.

Arangi 1.4.3

  • [New Feature] ARANGI-146: Tratar certificados de ciudadano en la nube.

Arangi 1.4.2

  • [Improvement] ARANGI-145: A la hora de importar un certificado poder elegir si borrar la clave pública o no.
  • [New Feature] ARANGI-137: Añadir el tratamiento para el CSR de tipo SPKAC.
  • [New Feature] ARANGI-135: Añadir nuevos métodos al sello de tiempos.
  • [Bug] ARANGI-132: En algunas ocasiones se borra el fichero temporal con el PDF antes de que se acabe la vida util el objeto firma.
  • [New Feature] ARANGI-144: En la clase de utilidades crear un método para codificar a base64 un InputStream.
  • [Task] ARANGI-142: En la firma visible de PDFs que aparezcan los textos en castellano.
  • [Bug] ARANGI-143: Error buscando el sello de tiempos en PKCS#7 / CMS.
  • [Bug] ARANGI-134: Error en la validación de PAdES-LTV con la respuesta OCSP de la Policía.
  • [Task] ARANGI-141: Ofrecer la posibilidad de importar un certificado junto con su cadena en keystores software.
  • [Improvement] ARANGI-136: Poder controlar el borrado de claves huerfanas de las tarjetas.
  • [Improvement] ARANGI-139: Poder obtener sellos de tiempo con SHA-256, SHA-384 y SHA-512.
  • [Improvement] ARANGI-138: Añadir a la extensión "CompleteCertificateRefs" la cadena de certificados de la TSA.

Arangi 1.4.1

  • [Improvement] ARANGI-129: Actualizar IAIK para que la gestion de tarjetas pueda funcionar en Java 64 bits.
  • [New Feature] ARANGI-131: Añadir un método para indicar el tamaño de los distintos tipos de hash.
  • [Bug] ARANGI-130: Poder validar sellos de XAdES-X realizados con el caso distribuido.

Arangi 1.4.0

  • [Improvement] ARANGI-123: Implementar las librerías utilizando la versión 1.49 de Bouncy Castle.

Arangi 1.2.1

  • [Bug] ARANGI-121: A veces no es posible escribir el PDF firmado en el mismo fichero que contenía el PDF sin firmar.
  • [Task] ARANGI-106: Cambiar el POM de los proyectos para que los jars se creen con los metatags adecuados en el manifest.
  • [New Feature] ARANGI-112: Crear métodos para pasar de JKS a PKCS#12 y viceversa sin tener que generar ficheros.
  • [Improvement] ARANGI-113: Crear un método en PKCS11Device que permita obtener un certificado a partir de su alias.
  • [Task] ARANGI-114: Eliminar el throws DeletingObjectException del método changeAlias del manager PKCS#11 porque nunca se lanzará esta excepción.
  • [Bug] ARANGI-124: No se valida la caducidad de los certificados autofirmados.
  • [Bug] ARANGI-110: No se puede completar a XAdES-T con certificados de ANCERT (error obteniendo el responderID de la respuesta OCSP).
  • [Improvement] ARANGI-108: Poder completar a XAdES-T utilizando servicios de validación (sin CAList).
  • [Task] ARANGI-107: Poder firmar en PDF sin usar CAList y sin comprobar previamente la validez del certificado.
  • [Bug] ARANGI-103: Se produce una firma no válida al completar a XAdES-X-L un XAdES-BES producido por el cliente de @Firma.
  • [Bug] ARANGI-125: Si hay varias firmas en un XAdES la compleción sólo completa la primera firma.

Arangi 1.2.0

  • [Bug] ARANGI-92: No funciona la obtención de módulos PKCS#11 en Mozilla con un fichero secmod.db de Mac.
  • [New Feature] ARANGI-93: Poder validar certificados mediante @Firma.
  • [New Feature] ARANGI-94: Poder obtener los datos del certificado a través de @Firma.
  • [Task] ARANGI-95: No lanzar la excepción por hashing en los métodos stampHash de Timestamp.
  • [New Feature] ARANGI-96: Poder validar PKCS#7 y CMS detached únicamente con el hash del documento.
  • [New Feature] ARANGI-97: Añadir a la clase Certificate un método para obtener una respuesta OCSP.
  • [Improvement] ARANGI-98: Validar los tokens de validación sin necesidad de acceder a un servicio web.
  • [Improvement] ARANGI-99: Crear métodos para validar firmas sin conocer de qué tipo de firma se trata.
  • [Bug] ARANGI-100: Si una firma es válida pero su contrafirma no, Arangí resuelve la primera como firma no válida.
  • [Bug] ARANGI-101: Si no se pasa un certificado en el constructor de Certificate se produce un NullPointerException.
  • [Bug] ARANGI-102: En XAdES, si el certificado de una contrafirma no es válido se da como no válida a la firma padre.

Arangi 1.1.8

  • [Task] ARANGI-77: En la clase CertificateRequest tratar los errores y añadir un método para obtener el contenido.
  • [Bug] ARANGI-78: En los keystores, el cambio de PIN provoca un error en el método de obtención de la clave privada.
  • [Bug] ARANGI-79: Alguno de los certificados de firma en IExplorer no devuelven una clave privada lo que provoca una excepción en el cliente.
  • [Bug] ARANGI-80: Erro al firmar en Firefox en Linux con tarjeta.
  • [Bug] ARANGI-81: Si la validación por OCSP acaba en error no se cierra la conexión con el servidor OCSP.
  • [Bug] ARANGI-83: Asegurarse de que en todos los casos se cierran las conexiones con la TSA.
  • [New Feature] ARANGI-84: Crear clase para tratar los certificados de seudónimo.
  • [Improvement] ARANGI-85: Poder firmar mediante XAdES añadiendo información del documento firmado.
  • [New Feature] ARANGI-86: Poder realizar con el cliente firmas detached como las que realiza @Firma.
  • [Bug] ARANGI-87: Eliminar explícitamente los ficheros utilizados para las firmas PDF.
  • [Task] ARANGI-89: Añadir los alias utilizados en certificados de pertenencia a empresa y de seudónimo a la lista de los utilizados en las firmas de Arangí.
  • [Bug] ARANGI-90: Arangi impide que se importen certificados sin clave privada en keystores PKCS#12.
  • [Bug] ARANGI-91: En keystores SW es posible importar un certificado a un par de claves con el que no guarda relación.

Arangi 1.1.7

  • [Task] ARANGI-76: Eliminar explícitamente los ficheros temporales que se usan para pasar a Unicode.
  • [Improvement] ARANGI-74: Para el almacén de Firefox en Linux, añadir todas las carpetas donde buscar dependiendo de la distribución de Linux.
  • [Improvement] ARANGI-70: Poder realizar firmas en Mac OS X mediante Firefox.

Arangi 1.1.6

  • [Improvement] ARANGI-73: Hacer que firmas attached creadas por Arangí puedan ser validadas por @Firma.
  • [New Feature] ARANGI-68: Obtener campos de los nuevos certificados de entidad en SW.
  • [Bug] ARANGI-71: Poder completar a PAdES-LTV si la firma PDF no tiene sello de tiempo.

Arangi 1.1.5

  • [Bug] ARANGI-60: De forma espúrea se produce un error al inicializar mientras se obtiene una clave privada de un keystore software.
  • [New Feature] ARANGI-58: Crear un nuevo método encryptWithSessionKey al que se le pase directamente el certificado en vez del alias.
  • [Bug] ARANGI-62: El OID como base de certificados de pertenencia a empresa incluye la versión.
  • [Bug] ARANGI-59: El método de completar a XAdES-X-L falla en algunas ocasiones.
  • [Bug] ARANGI-65: Falta una DLL al tratar de firmar con Firefox 12.
  • [Improvement] ARANGI-63: Las firmas XAdES generadas con @Firma no se validan correctamente.

Arangí 1.1.4

  • [Improvement] ARANGI-56: Reorganizar la clase TimeStamp para poder obtener sellos en base a hash.
  • [New Feature] ARANGI-53: Añadir nuevos métodos a la clase de certificados para la obtención de las extensiones Extended Key Usage y No Revocation Check.
  • [New Feature] ARANGI-55: Añadir nuevos métodos de validación, obtención de fechas y match a la clase CRL.
  • [Bug] ARANGI-52: En el proceso de autodetección de tarjetas se produce un error por no encontrar tarjetas si se introduce mal el PIN.
  • [Improvement] ARANGI-54: Permitir la validación de certificados que no contienen la extensión Issuer Key Identifier.
  • [Improvement] ARANGI-51: Poder trabajar con tarjetas Gemalto (Acotec).
  • [New Feature] ARANGI-50: Añadir soporte de PAdES-LTA y adaptar a ETSI TS 119 144-2 V1.1.1 en la clase PAdESLTVSignature.

Arangí 1.1.3

  • [Bug] ARANGI-49: La validación del token de validación falla debido a un espacio en el tamaño del envío del SOAP

Arangí 1.1.2

  • [Bug] ARANGI-47: La validación de CMS/PKCS#7 detached siempre resulta válida independientemente del documento.

Arangí 1.1.1

  • [Bug] ARANGI-36: Al cargar un token de validación de la ACCV que no está en base64 se produce un ClassCastException.
  • [New Feature] ARANGI-39: Añadir clases para trabajar con PKCS#10 y CRMF (paquete es.accv.arangi.base.request).
  • [New Feature] ARANGI-37: Añadir soporte para trabajar con los certificados de las nuevas CAs: ACCV-CA110 y ACCV-CA120.
  • [Bug] ARANGI-38: En ciertos sistemas la validación de los sellos de tiempo siempre devueve falso debido a que la cadena de validación del certificado de la TSA se devuelve al revés.
  • [Improvement] ARANGI-10: En errores debidos a conexiones (OCSP, CRLs, etc) añadir la URL a la que se trata de conectar.
  • [New Feature] ARANGI-32: En la clase de utilidades crear un método para pasar de array de bytes a String hexadecimal.
  • [Improvement] ARANGI-29: En la comprobación de XAdES attached en que se pasa el documento comprobar también la coincidencia con el hash.
  • [Improvement] ARANGI-31: En la comprobación de XAdES attached en que se pasa el documento comprobar también la coincidencia con el hash en hexadecimal.
  • [Bug] ARANGI-28: En la validación de PDFs (tanto simples como PAdES-LTV) no se obtiene ninguna fecha.
  • [Bug] ARANGI-42: Error en la validación del PAdES-LTV cuando se firma un PDF previamente firmado.
  • [Bug] ARANGI-43: Las tarjetas Touch&Sign (Bit4id) no se reconocen sin las arangi_libraries.
  • [Bug] ARANGI-33: MozillaKeyStoreManager: no se obtienen certificados con Firefox y Windows 7 64 bits.
  • [Bug] ARANGI-30: XAdES-BES: si el certificado está caducado devuelve que la firma es válida.
  • [Improvement] ARANGI-19: Añadir soporte de usuario y contraseña para la TSA.
  • [Bug] ARANGI-35: Al firmar con el Manager de Mozilla en tarjeta no se encuentra el certificado elegido.
  • [Improvement] ARANGI-22: Hacer que InvalidCertificateException tenga un método para recuperar el error en la validación.
  • [Bug] ARANGI-44: MozillaKeyStoreManager no obtiene los certificados para Mozilla Firefox 10.