<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>::xml-utils.com:: &#187; Firma digital</title>
	<atom:link href="http://xml-utils.com/category/firma-digital/feed/" rel="self" type="application/rss+xml" />
	<link>http://xml-utils.com</link>
	<description>El rincón práctico de los estándares web</description>
	<lastBuildDate>Fri, 16 Jul 2010 06:23:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CryptoApplet en el Podcast 80 de JavaHispano sobre criptografía y firma digital</title>
		<link>http://xml-utils.com/2010/04/06/cryptoapplet-en-el-podcast-80-de-javahispano-sobre-criptografia-y-firma-digital/</link>
		<comments>http://xml-utils.com/2010/04/06/cryptoapplet-en-el-podcast-80-de-javahispano-sobre-criptografia-y-firma-digital/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 11:06:25 +0000</pubDate>
		<dc:creator>borillo</dc:creator>
				<category><![CDATA[Firma digital]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Publicaciones]]></category>

		<guid isPermaLink="false">http://xml-utils.com/?p=58</guid>
		<description><![CDATA[Ya está disponible la entrevista que nos hicieron la gente de JavaHispano sobre criptografía y firma digital.
En ella, a parte de introducir una serie de conceptos básicos acerca de qué es y para qué sirve la criptografía y la firma digital, también tuvimos la ocasión de introducir nuestro proyecto CryptoApplet.
CryptoApplet es un applet de firma [...]]]></description>
			<content:encoded><![CDATA[<p>Ya está disponible la entrevista que nos hicieron la gente de <a href="http://www.javahispano.org" target="_blank">JavaHispano</a> sobre <a href="http://www.javahispano.org/contenidos/es/javahispano_podcast__080__criptografia_y_firma_digital/" target="_blank">criptografía y firma digital</a>.</p>
<p>En ella, a parte de introducir una serie de conceptos básicos acerca de qué es y para qué sirve la criptografía y la firma digital, también tuvimos la ocasión de introducir nuestro proyecto <a href="http://proyectostic.uji.es/pr/cryptoapplet/" target="_blank">CryptoApplet</a>.</p>
<p><a href="http://proyectostic.uji.es/pr/cryptoapplet/" target="_blank">CryptoApplet</a> es un applet de firma digital multiformato, liberado bajo licencia GPL por la <a href="http://www.uji.es/" target="_blank">Universitat Jaume I de Castellón</a>.</p>
<p>Muchas gracias a Jorge Rubira por contar con nosotros y por la oportunidad de pasar un buen rato hablando de tecnología.</p>
]]></content:encoded>
			<wfw:commentRss>http://xml-utils.com/2010/04/06/cryptoapplet-en-el-podcast-80-de-javahispano-sobre-criptografia-y-firma-digital/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Múltiples firmas enveloped en un documento XML Signature</title>
		<link>http://xml-utils.com/2009/08/31/multiples-firmas-enveloped-en-un-documento-xml-signature/</link>
		<comments>http://xml-utils.com/2009/08/31/multiples-firmas-enveloped-en-un-documento-xml-signature/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 12:53:12 +0000</pubDate>
		<dc:creator>borillo</dc:creator>
				<category><![CDATA[Facturae]]></category>
		<category><![CDATA[Firma digital]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://xml-utils.com/?p=43</guid>
		<description><![CDATA[Según la especificación del estándar XML Signature del W3C, las firmas &#8220;enveloped&#8221; son aquellas que están embebidas en los datos originales, de forma que son capaces de excluir su contenido a la hora de verificar el documento original.
Destacan por tener siempre definida una referencia (Reference), con el valor establecido del atributo URI a cadena vacia:
&#60;Reference [...]]]></description>
			<content:encoded><![CDATA[<p>Según la especificación del estándar <a href="http://www.w3.org/TR/xmldsig-core" target="_blank">XML Signature del W3C</a>, las firmas &#8220;enveloped&#8221; son aquellas que están embebidas en los datos originales, de forma que son capaces de excluir su contenido a la hora de verificar el documento original.</p>
<p>Destacan por tener siempre definida una referencia (Reference), con el valor establecido del atributo URI a cadena vacia:</p>
<p><code>&lt;Reference URI=""&gt;<br />
  &lt;Transforms&gt;<br />
    &lt;Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /&gt;<br />
    &lt;Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /&gt;<br />
  &lt;/Transforms&gt;<br />
  &lt;DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /&gt;<br />
  &lt;DigestValue&gt;&lt;/DigestValue&gt;<br />
&lt;/Reference&gt;<br />
</code></p>
<p>Ejemplo de una firma &#8220;enveloped&#8221;:</p>
<p><img src="http://jvnrss.ise.chuo-u.ac.jp/jtg/image/s/xsig_rdf.png" /></p>
<p>El problema es que cuando tenemos más de una firma de este tipo en un mismo documento, es necesario que cada una se excluya a si misma y a las demás firmas a la hora de calcular cualquier digest. Con la transformación &#8220;enveloped&#8221;, sólo se elimina la propia referencia, quedando en el documento el resto de firmas y haciendo que los cálculos de los digest sean incorrectos.</p>
<p>Para resolver este problema, debemos utilizar <a href="http://www.w3.org/TR/xmldsig-core/#sec-XPath" target="_blank">XPath Filtering</a>.</p>
<p>Según la especificación, el filtrado XPath en una transformación que nos permite quedarnos con el conjunto de nodos necesario para poder calcular de forma correcta la firma.</p>
<p>En nuestro caso, sustituyendo la transformación &#8220;enveloped&#8221; por un correcto filtrado, podemos soportar múltiples firmas &#8220;enveloped&#8221; en un mismo documento:</p>
<p><code>&lt;Reference URI=""&gt;<br />
  &lt;Transforms&gt;<br />
    &lt;Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"&gt;<br />
      &lt;XPath xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"&gt;<br />
        not(ancestor-or-self::dsig:Signature)<br />
      &lt;/XPath&gt;<br />
    &lt;/Transform&gt;<br />
  &lt;/Transforms&gt;<br />
  &lt;DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;<br />
  &lt;DigestValue&gt;&lt;/DigestValue&gt;<br />
&lt;/Reference&gt;<br />
</code></p>
<p>Si estamos desarrollando en Java, podemos generar este tipo de referencia de la siguiente forma:</p>
<p><code>Transform transform = fac.newTransform(Transform.XPATH, new XPathFilterParameterSpec(<br />
    "not(ancestor-or-self::dsig:Signature)", Collections.singletonMap("dsig", XMLSignature.XMLNS)));<br />
Reference ref = fac.newReference("", fac.newDigestMethod(DigestMethod.SHA1, null),<br />
    Collections.singletonList(transform), null, null);</code></p>
]]></content:encoded>
			<wfw:commentRss>http://xml-utils.com/2009/08/31/multiples-firmas-enveloped-en-un-documento-xml-signature/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crea tus facturas electrónicas de forma sencilla y gratuita</title>
		<link>http://xml-utils.com/2009/05/16/crea-tus-facturas-electronicas-de-forma-sencilla-y-gratuita/</link>
		<comments>http://xml-utils.com/2009/05/16/crea-tus-facturas-electronicas-de-forma-sencilla-y-gratuita/#comments</comments>
		<pubDate>Sat, 16 May 2009 19:59:45 +0000</pubDate>
		<dc:creator>borillo</dc:creator>
				<category><![CDATA[Facturae]]></category>
		<category><![CDATA[Firma digital]]></category>

		<guid isPermaLink="false">http://xml-utils.com/?p=42</guid>
		<description><![CDATA[&#8220;Hazte una Facturae&#8221; es un nuevo servicio disponible de forma gratuita y que permite realizar la emisión y firma digital de facturas en formato Facturae 3.1, generando adicionalmente una visualización de la misma en formato PDF.
Gracias a este servicio, las empresas pequeñas que tienen un volumen de facturación reducido, pueden emitir sus facturas electrónicas sin [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.hazteunafacturae.com/" target="_blank">&#8220;Hazte una Facturae&#8221;</a> es un nuevo servicio disponible de forma gratuita y que permite realizar la emisión y firma digital de facturas en formato <a href="http://www.facturae.es/Documentacion/EsquemaFormato/Version3_1/" target="_blank">Facturae 3.1</a>, generando adicionalmente una visualización de la misma en formato PDF.</p>
<p>Gracias a este servicio, las empresas pequeñas que tienen un volumen de facturación reducido, pueden emitir sus facturas electrónicas sin necesidad de adquirir un sotware especializado de facturación.</p>
<p>Como aspecto a reseñar, las facturas emitidas por este servicio validan perfectamente contra el <a href="http://www11.mityc.es/FacturaE/" target="_blank">servicio de validación</a> que ofrece el Ministerio de Economía y Hacienda.</p>
]]></content:encoded>
			<wfw:commentRss>http://xml-utils.com/2009/05/16/crea-tus-facturas-electronicas-de-forma-sencilla-y-gratuita/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El formato ODF 1.2 tendrá soporte para XAdES</title>
		<link>http://xml-utils.com/2009/01/23/el-formato-odf-12-tendra-soporte-para-xades/</link>
		<comments>http://xml-utils.com/2009/01/23/el-formato-odf-12-tendra-soporte-para-xades/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 12:23:44 +0000</pubDate>
		<dc:creator>borillo</dc:creator>
				<category><![CDATA[Archivos digitales]]></category>
		<category><![CDATA[Firma digital]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://xml-utils.com/?p=40</guid>
		<description><![CDATA[Hasta ahora, el formato ODF contaba con la posibilidad de poder almacenar una firma digital asociada en formato XML Signature. 
Gracias a esta característica, podemos garantizar la identidad del autor o persona que ha generado el documento y lo ha firmado, y la integridad del mismo asegurando que no haya sido alterado.
Por otra parte, si [...]]]></description>
			<content:encoded><![CDATA[<p>Hasta ahora, el formato <a href="http://es.wikipedia.org/wiki/OpenDocument" target="_blank">ODF</a> contaba con la posibilidad de poder almacenar una firma digital asociada en formato <a href="http://en.wikipedia.org/wiki/XML_Signature" target="_blank">XML Signature</a>. </p>
<p>Gracias a esta característica, podemos garantizar la identidad del autor o persona que ha generado el documento y lo ha firmado, y la integridad del mismo asegurando que no haya sido alterado.</p>
<p>Por otra parte, si queremos asegurar que el certificado utilizado es válido en el momento de la firma o establecer la fecha y hora de firma de forma feaciente, es necesario utilizar un formato de firma XML más avanzado que XML Signature.</p>
<p>Todos estos requisitos son cubiertos por el estándar <a href="http://es.wikipedia.org/wiki/Xades" target="_blank">XAdES</a>, que en su perfil XAdES-X-L extiende la información criptográfica especificada por XML Signature y le añade la respuesta <a href="http://es.wikipedia.org/wiki/Online_Certificate_Status_Protocol" target="_blank">OCSP</a> del servicio de validación de certificados y el <a href="http://es.wikipedia.org/wiki/Sellado_de_tiempo" target="_blank">sello de tiempo</a>, entre otros muchos atributos. Es por todo esto que XAdES ha sido elegido como el formato de firma base para la generación de facturas electrónicas en formato <a href="http://www.facturae.es/" target="_blank">Facturae</a>.</p>
<p>Así pues, gracias al nuevo soporte de XAdES que tendrá ODF 1.2, podremos contar con todas estas nuevas funcionalidades que tan importantes son para la adminsitración electrónica y la preservación de documentos digitales.</p>
<p>Adicionalmente, es interesante destacar que PDF, vía la generación de firmas digitales en formato <a href="http://en.wikipedia.org/wiki/Cryptographic_Message_Syntax" target="_blank">CMS</a>, también es capaz de almacenar un sello de tiempo generado por una autoridad certificadora.</p>
<p>Enlace a la noticia original:</p>
<p><a href="http://homembit.com/2009/01/firmas-digitales-en-el-odf-12-seran-compatibles-con-la-icp-brasil.html" target="_blank">http://homembit.com/2009/01/firmas-digitales-en-el-odf-12-seran-compatibles-con-la-icp-brasil.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://xml-utils.com/2009/01/23/el-formato-odf-12-tendra-soporte-para-xades/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Curso de especialización en desarrollo web avanzado</title>
		<link>http://xml-utils.com/2008/11/03/curso-de-especializacion-en-desarrollo-web-avanzado-2/</link>
		<comments>http://xml-utils.com/2008/11/03/curso-de-especializacion-en-desarrollo-web-avanzado-2/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 00:02:05 +0000</pubDate>
		<dc:creator>borillo</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Accesibilidad]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Firma digital]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Web General]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://xml-utils.com/?p=38</guid>
		<description><![CDATA[
Con el fin de conocer más a fondo los nuevos entornos y tecnologías relacionadas con el desarrollo de aplicaciones Web, se presenta desde la Universitat Jaume I de Castellón, la segunda edición del &#8220;Curso de especialización en desarrollo web avanzado&#8221;. Este año totalmente online !!!
En esta tercera edición prevista desde Noviembre del 2009 a Junio [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/img/cartel.png" style="float:right; margin-left:10px;" /></p>
<p>Con el fin de conocer más a fondo los nuevos entornos y tecnologías relacionadas con el desarrollo de aplicaciones Web, se presenta desde la <a href="http://www.fue.uji.es/postgrado/ver.shtm?no_exp=EX090056" target="_blank">Universitat Jaume I</a> de Castellón, la segunda edición del &#8220;Curso de especialización en desarrollo web avanzado&#8221;. Este año totalmente online !!!</p>
<p>En esta tercera edición prevista desde Noviembre del 2009 a Junio de 2010, se abordarán las siguientes temáticas:</p>
<ul>
<li>- Web 2.0: Conceptos e implicaciones</li>
<li>- Activos de información: Gestión, protección y control</li>
<li>- Herramientas y nuevos entornos de desarrollo: Wiki, Subversion, Eclipse, Trac</li>
<li>- Tecnologías base de cliente: XHTML/XML, CSS, JavaScript, SVG en cuanto a las tecnologías base y algunos frameworks de cliente rico como Prototype, JQuery o ExtJS</li>
<li>- Tecnologías de servidor: PHP y Java</li>
<li>- Seguridad en entornos web</li>
<li>- Arquitecturas orientadas a servicios: SOA, Web Services, WSDL y REST</li>
</ul>
<p>Para más información, se encuentra disponible la página del curso donde, además, se pueden ver algunos ejemplos descargables de los materiales proporcionados:</p>
<p><a href="http://cursowebavanzado.uji.es/" target="_blank">http://cursowebavanzado.uji.es/</a><br/><br />
<a href="http://www.fue.uji.es/postgrado/ver.shtm?no_exp=EX090056" target="_blank">Fundación Universitat Jaume I &#8211; Empresa</a></p>
<p>Os esperamos!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://xml-utils.com/2008/11/03/curso-de-especializacion-en-desarrollo-web-avanzado-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CryptoApplet</title>
		<link>http://xml-utils.com/2008/04/25/cryptoapplet/</link>
		<comments>http://xml-utils.com/2008/04/25/cryptoapplet/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 11:25:58 +0000</pubDate>
		<dc:creator>borillo</dc:creator>
				<category><![CDATA[Firma digital]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Web General]]></category>

		<guid isPermaLink="false">http://xml-utils.com/2008/04/25/cryptoapplet/</guid>
		<description><![CDATA[
La Universitat Jaume I de Castellón ha liberado el código de CryptoApplet, un applet para la realización de firma digital avanzada en el lado del cliente a través de un navegador (Internet Explorer y navegadores de la familia mozilla bajo Linux y Windows) accediendo de forma correcta a cada almacen de certificados, ya sea local [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://proyectostic.uji.es/img/cappv2.png" style="float:right; margin:10px;" /><br />
La <a href="http://www.uji.es/" target="blank">Universitat Jaume I</a> de Castellón ha liberado el código de <a href="http://proyectostic.uji.es/cryptoapplet/index_es.html">CryptoApplet</a>, un applet para la realización de firma digital avanzada en el lado del cliente a través de un navegador (Internet Explorer y navegadores de la familia mozilla bajo Linux y Windows) accediendo de forma correcta a cada almacen de certificados, ya sea local o a través de un dispositivo externo (como en el caso del <a href="http://www.dnielectronico.es/">DNI-e</a>).</p>
<p>Este applet es capaz de generar firmas y ofrecer su representación en PKCS#1, PKCS#7, XMLDsig, XAdES-X-L (JDigiDoc de OpenXAdES), PDF y PDF con sello de tiempo.</p>
<p>Todo el código del applet se ha liberado bajo GPLv2 y puede descargarse en:</p>
<p><a href="http://proyectostic.uji.es/cryptoapplet/index_es.html">http://proyectostic.uji.es/cryptoapplet/index_es.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://xml-utils.com/2008/04/25/cryptoapplet/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Integrando la firma digital de documentos PDF con Apache Cocoon</title>
		<link>http://xml-utils.com/2006/11/26/integrando-la-firma-digital-de-documentos-pdf-con-apache-cocoon/</link>
		<comments>http://xml-utils.com/2006/11/26/integrando-la-firma-digital-de-documentos-pdf-con-apache-cocoon/#comments</comments>
		<pubDate>Sun, 26 Nov 2006 18:34:40 +0000</pubDate>
		<dc:creator>borillo</dc:creator>
				<category><![CDATA[Firma digital]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://xml-utils.com/2006/11/26/integrando-la-firma-digital-de-documentos-pdf-con-apache-cocoon/</guid>
		<description><![CDATA[Apache Cocoon es un framework de publicación XML. En Cocoon se define un origen XML (generator), una transformación XSL opcional (transformer) y se obtiene un documento (serializer) en el formato deseado (PDF, RTF, XHTML, Postscript, Excel, etc). Cocooon nos permite olvidarnos de los procesos de transformación de documentos XML, de forma que sólo tenemos que [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://cocoon.apache.org/">Apache Cocoon</a> es un framework de publicación XML. En Cocoon se define un origen XML (generator), una transformación XSL opcional (transformer) y se obtiene un documento (serializer) en el formato deseado (PDF, RTF, XHTML, Postscript, Excel, etc). Cocooon nos permite olvidarnos de los procesos de transformación de documentos XML, de forma que sólo tenemos que definir los distintos pasos por los que pasará nuestra información origen XML (pipelines).</p>
<p>En esta <a href="http://cocoon.apache.org/2.1/tutorial/index.html">dirección</a> podemos encontrar información adicional sobre Cocoon.</p>
<p>En un reciente artículo sobre <a href="http://xml-utils.com/2006/11/26/firmando-documentos-pdf-con-itext/">firma digital de documentos PDF con iText</a> veíamos cómo realizar la firma aislada de documentos PDF.<br />
Para los que utilicen Cocoon, existe una forma de poder firmar los documentos PDF que se generen dinámicamente como resultado de una transformación. El proceso pasa por implementar nuestro propio <a href="http://cocoon.apache.org/2.1/userdocs/serializers.html">serializer</a>.</p>
<p>Lo que vamos a hacer es implementar una clase que herede de <a href="http://cocoon.apache.org/2.1/userdocs/pdf-serializer.html">FOPSerializer</a> (encargada de la generación de PDF) y, antes de que se emita el PDF como salida, pasar esta información por el proceso de firma descrito en el artículo anterior.</p>
<p>El resultado es la clase <a href="/ejemplos/PDFSignSerializer.java">PDFSignSerializer.java</a> que nos permite implementar el proceso.<br />
Esta clase, al ser un nuevo serializer, debe ser definida en el fichero de configuración de Cocoon (<a href="http://cocoon.apache.org/2.1/userdocs/concepts/sitemap.html">sitemap.xmap</a>):</p>
<p><code>&lt;map:serializer logger="sitemap.serializer.fo2spdf" mime-type="application/pdf" name="fo2spdf"<br />
                     src="org.apache.cocoon.serialization.PDFSignSerializer"/&gt;<br />
</code></p>
<p>Y luego, ya podemos utilizarla en cualquier pipeline:</p>
<p><code>&lt;map:match pattern="kk"&gt;<br />
  &lt;map:generate src="samples/hello-world/content/hello.xml" /&gt;<br />
  &lt;map:transform src="samples/hello-world/style/xsl/page2fo.xsl" /&gt;<br />
  &lt;map:serialize type="fo2spdf" /&gt;<br />
&lt;/map:match&gt;<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://xml-utils.com/2006/11/26/integrando-la-firma-digital-de-documentos-pdf-con-apache-cocoon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firmando documentos PDF con iText</title>
		<link>http://xml-utils.com/2006/11/26/firmando-documentos-pdf-con-itext/</link>
		<comments>http://xml-utils.com/2006/11/26/firmando-documentos-pdf-con-itext/#comments</comments>
		<pubDate>Sun, 26 Nov 2006 18:11:55 +0000</pubDate>
		<dc:creator>borillo</dc:creator>
				<category><![CDATA[Firma digital]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://xml-utils.com/2006/11/26/firmando-documentos-pdf-con-itext/</guid>
		<description><![CDATA[iText es una librería Java gratuita para la generación de documentos PDF de forma dinámica. Es una de las más utilizadas por su simplicidad, disponibilidad de ejemplos y documentación (incluso se ha publicado un libro) y funcionalidades.
A parte del soporte para la generación de documentos PDF, ofrece una serie de características adicionales que pueden resultar [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.lowagie.com/iText/index.html">iText</a> es una librería Java gratuita para la generación de documentos PDF de forma dinámica. Es una de las más utilizadas por su simplicidad, disponibilidad de <a href="http://itextdocs.lowagie.com/tutorial/">ejemplos y documentación</a> (incluso se ha publicado un <a href="http://www.manning.com/lowagie/">libro</a>) y funcionalidades.</p>
<p>A parte del soporte para la generación de documentos PDF, ofrece una serie de características adicionales que pueden resultar muy interesantes: </p>
<ul>
<li><a href="http://itextdocs.lowagie.com/docs/com/lowagie/text/pdf/Barcode.html">Inclusión de códigos de barras tanto lineales como 2D (PDF 417).</a></li>
<li>Posibilidad de firma digital de documentos PDF de forma que Adobe Acrobat sea capaz de procesar y validar esta información.</li>
</ul>
<p>Respecto a la firma digital, es posible firmar un documento PDF existente con un certificado X509 en formato PKCS#12 (en explorer se exportan como .PFX) de forma directa:</p>
<p><code><br />
KeyStore ks = KeyStore.getInstance("pkcs12");<br />
ks.load(new FileInputStream("certificado.pfx"), "mi_password".toCharArray());<br />
String alias = (String) ks.aliases().nextElement();<br />
PrivateKey key = (PrivateKey) ks.getKey(alias, "mi_password".toCharArray());<br />
Certificate[] chain = ks.getCertificateChain(alias);<br />
PdfReader reader = new PdfReader("documento.pdf");<br />
FileOutputStream fout = new FileOutputStream("documento_firmado.pdf");<br />
PdfStamper stp = PdfStamper.createSignature(reader, fout, '\0', new File("/tmp"));<br />
PdfSignatureAppearance sap = stp.getSignatureAppearance();<br />
sap.setCrypto(key, chain, null, PdfSignatureAppearance.WINCER_SIGNED);<br />
sap.setReason("Prueba de firma digital con iText");<br />
sap.setLocation("Spain");<br />
sap.setContact("Ricardo Borillo");<br />
stp.close();<br />
</code></p>
<p>Hay disponible una descripción más amplia de todo el proceso en esta <a href="http://itextpdf.sourceforge.net/howtosign.html">dirección</a>.</p>
<p>Así es como se vería el documento firmado cundo lo visualizamos con el Acrobat Reader:</p>
<p><img src="/ejemplos/signpdf-1.jpg" /></p>
<p>Y la información de la firma en la pestaña vertical de la parte izquierda (Firmas):</p>
<p><img src="/ejemplos/signpdf-2.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://xml-utils.com/2006/11/26/firmando-documentos-pdf-con-itext/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
