<?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>Xnoccio.com &#187; asp.net</title>
	<atom:link href="http://www.xnoccio.com/es/tag/asp-net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xnoccio.com</link>
	<description>Blog de viavansi</description>
	<lastBuildDate>Fri, 27 Jan 2012 19:59:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Pruebas estrés sobre la plataforma Viafirma</title>
		<link>http://www.xnoccio.com/es/418-pruebas-estres-sobre-la-plataforma-viafirma/</link>
		<comments>http://www.xnoccio.com/es/418-pruebas-estres-sobre-la-plataforma-viafirma/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 00:27:43 +0000</pubDate>
		<dc:creator>Felix G. Borrego</dc:creator>
				<category><![CDATA[viafirma]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://xnoccio.com/418-pruebas-estres-sobre-la-plataforma-viafirma/</guid>
		<description><![CDATA[Para comprobar el rendimiento de nuestra plataforma de firma, hemos realizado una serie de pruebas de estrés sobre el API Web Service de Viafirma. El objetivo de estas pruebas ha sido obtener métricas de comportamiento y limites de carga para los diferentes servicios ofrecidos, para determinar el rango de operaciones en los que el servicio [...]]]></description>
			<content:encoded><![CDATA[<p>Para comprobar el rendimiento de nuestra plataforma de firma, hemos realizado una serie de pruebas de estrés sobre el API Web Service de Viafirma. El objetivo de estas pruebas ha sido obtener métricas de comportamiento y limites de carga para los diferentes servicios ofrecidos, para determinar el rango de operaciones en los que el servicio es estable.</p>
<p>Para las pruebas se han realizado firmas en servidor XAdES de ficheros xml de 20k, utilizando como sistema de custodia ficheros y firmando con un certificado de <a href="http://www.firmaprofesional.com/">Firma Profesional</a> en software.</p>
<p>Se han realizado en dos tipos de entornos, el primero bastante precario en recursos y el segundo un entorno de producción real. En ambos casos pudimos comprobar que el comportamiento de Viafirma, ante un gran numero de peticiones fue más que aceptable.</p>
<p><strong>Rendimiento de Viafirma con los requisitos Mínimos de Hardware</strong></p>
<p>El entorno donde se realizaron las pruebas  es un portátil con un procesador Turion a 2 GHz y 2 gigas de RAM, con el servidor de aplicaciones  configurado para permitir 200 hilos concurrentes y con un máximo de 512 MB asignados.</p>
<p>Las pruebas se realizaron configurando un grupo de hilos simulando 100 peticiones por segundo en un bucle infinito.</p>
<p>A continuación se muestran los resultados obtenidos en la misma máquina y misma configuración en un entorno Windows y en un entorno Linux.</p>
<p><strong>Pruebas sobre Windows XP SP 3 en JRE 6.0.11 de Sun</strong></p>
<p><a title="Prueba sobre Windows XP" href="http://www.xnoccio.com/wp-content/uploads/2009/01/viafirma_windows_pruebas_de_estres_100hilos_1segudoxhilo3.png"><img title="Prueba sobre Windows XP" src="http://www.xnoccio.com/wp-content/uploads/2009/01/viafirma_windows_pruebas_de_estres_100hilos_1segudoxhilo3.png" alt="Prueba sobre Windows XP" width="397" height="200" /></a></p>
<p>Como se observa en la gráfica, Viafirma mantuvo la cantidad constantes de 1.200 peticiones por minuto con una media de cerca de 5 segundos desde la entrada de la petición hasta su resolución y respuesta.  Mientras se realizaros las pruebas, Jconsole marcó en todo momento un consumo de memoria estable.</p>
<p><strong>Pruebas sobre Ubuntu 8.10 en JRE 6.0.10 de Sun</strong></p>
<p><a title="Prueba sobre Ubuntu" href="http://www.xnoccio.com/wp-content/uploads/2009/01/prueba_estres_viafirma_100hilos_1segundoxhilo1.png"><img src="http://www.xnoccio.com/wp-content/uploads/2009/01/prueba_estres_viafirma_100hilos_1segundoxhilo1.png" alt="Prueba sobre Ubuntu" width="403" height="245" /></a></p>
<p>Repetimos las pruebas en un entorno Unix, y observando que el rendimiento es algo mayor. Respondiendo una media de 2.100 peticiones por minuto.</p>
<p><strong>Rendimiento de Viafirma con la configuración de Hardware recomendada</strong></p>
<p>Después de haber hecho estas pruebas &#8220;de andar por casa&#8221;, hemos repetido la misma batería de pruebas sobre un entorno de producción, un  Ubuntu Server con 8 nucleos, 6 Gb de memoria y una configuración optimizada de la JVM 6.</p>
<p><a title="Rendimiento firma digital con viafirma" href="http://www.xnoccio.com/wp-content/uploads/2009/01/ubuntuserver_100hilos_1segundo1.png"><img src="http://www.xnoccio.com/wp-content/uploads/2009/01/ubuntuserver_100hilos_1segundo1.png" alt="Rendimiento firma digital con viafirma" width="590" height="429" /></a></p>
<p>Como podemos observar,  el comportamiento es excelente, alcanzando casi más de 7.500 firmas por minuto, manteniéndose totalmente estable la JVM y con el procesador nunca superando el 50% ( debido a los tiempos de espera impuestos por la red).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xnoccio.com/es/418-pruebas-estres-sobre-la-plataforma-viafirma/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firmando digitalmente en Windows 7</title>
		<link>http://www.xnoccio.com/es/412-firmando-digitalmente-con-windows-7-y-internet-explorer-8/</link>
		<comments>http://www.xnoccio.com/es/412-firmando-digitalmente-con-windows-7-y-internet-explorer-8/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 00:26:52 +0000</pubDate>
		<dc:creator>Felix G. Borrego</dc:creator>
				<category><![CDATA[viafirma]]></category>
		<category><![CDATA[viavansi]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[DNIe]]></category>
		<category><![CDATA[firma digital]]></category>
		<category><![CDATA[firma electrónica]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Neutralidad Tecnológica]]></category>

		<guid isPermaLink="false">http://xnoccio.com/412-firmando-digitalmente-con-windows-7-y-internet-explorer-8/</guid>
		<description><![CDATA[Estos últimos días hemos estado realizando pruebas para comprobar el comportamiento de Viafirma en el nuevo sistema operativo de Microsoft, y los resultados no han podido ser mejores, el sistema se comporta perfectamente en Internet Explorer 8 sobre el nuevo Windows 7!!!.
Os dejo algunas capturas de pantalla:

 En caso de que el usuario no tenga [...]]]></description>
			<content:encoded><![CDATA[<p>Estos últimos días hemos estado realizando pruebas para comprobar el comportamiento de <a href="http://www.viafirma.com" title="Plataforma de firma digital compatible con Windows 7">Viafirma</a> en el nuevo sistema operativo de Microsoft, y los resultados no han podido ser mejores, el sistema se comporta perfectamente en Internet Explorer 8 sobre el nuevo Windows 7!!!.</p>
<p>Os dejo algunas capturas de pantalla:</p>
<ul>
<li> En caso de que el usuario no tenga instalado Java en su sistema, la detección de componentes inicial corrige esta situación e instala automáticamente la JRE.</li>
</ul>
<p align="left"><a href="http://www.xnoccio.com/wp-content/uploads/2009/01/windows7_firma_digital_deteccion_componentes1.png" title="Detección de componentes para firma Digital con Viafirma en Windows 7"></a></p>
<p style="text-align: center"><a href="http://www.xnoccio.com/wp-content/uploads/2009/01/windows7_firma_digital_deteccion_componentes1.png" title="Detección de componentes para firma Digital con Viafirma en Windows 7"><img src="http://www.xnoccio.com/wp-content/uploads/2009/01/windows7_firma_digital_deteccion_componentes1.png" alt="Detección de componentes para firma Digital con Viafirma en Windows 7" height="301" width="402" /></a></p>
<ul>
<li>El componente de firma busca los certificados instalados en el sistema, detecta  los certificados presentes (en este caso un certificado de la FNMT) y nos permite realizar sin problemas la firma digital del documento.</li>
</ul>
<p><a href="http://www.xnoccio.com/wp-content/uploads/2009/01/windows7_firma_digital_buscando_certificados_instalados1.png" title="Buscando certificados digitales instalados en el sistema"><img src="http://www.xnoccio.com/wp-content/uploads/2009/01/windows7_firma_digital_buscando_certificados_instalados1.png" alt="Buscando certificados digitales instalados en el sistema" height="341" width="453" /></a><a href="http://www.xnoccio.com/wp-content/uploads/2009/01/windows7_certificadoencontrado1.png" title="Certificado digital de la fnmt encontrado con Viafirma y firmando"><img src="http://www.xnoccio.com/wp-content/uploads/2009/01/windows7_certificadoencontrado1.png" alt="Certificado digital de la fnmt encontrado con Viafirma y firmando" height="354" width="454" /></a></p>
<p><a href="http://www.xnoccio.com/wp-content/uploads/2009/01/windows7_firma_digital_buscando_certificados_instalados1.png" title="Buscando certificados digitales instalados en el sistema"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.xnoccio.com/es/412-firmando-digitalmente-con-windows-7-y-internet-explorer-8/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>C# / ASP.NET : Firma digital y autenticación con Viafirma (II)</title>
		<link>http://www.xnoccio.com/es/395-xades-dnie-csharp-aspnet-firma-digital-y-autenticacion-con-viafirma-ii/</link>
		<comments>http://www.xnoccio.com/es/395-xades-dnie-csharp-aspnet-firma-digital-y-autenticacion-con-viafirma-ii/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 14:40:47 +0000</pubDate>
		<dc:creator>Felix G. Borrego</dc:creator>
				<category><![CDATA[viafirma]]></category>
		<category><![CDATA[viavansi]]></category>
		<category><![CDATA[asp.net]]></category>

		<guid isPermaLink="false">http://xnoccio.com/395-c-aspnet-firma-digital-y-autenticacion-con-viafirma-ii/</guid>
		<description><![CDATA[En este artículo muestran los pásos a seguir para utilizar los servicios de firma digital ( XAdes, Facturae, &#8230;), autenticación (FNMT, Firma Profesional, ANCERT, &#8230;) y verificación de validez de certificados ( OCSP, CRLs, &#8230;) desde aplicaciones ASP.NET gracias a Viafirma.
1- Añadir las dependencias necesarias
Es necesario que incorporemos al proyecto las siguientes dlls incluidas en el [...]]]></description>
			<content:encoded><![CDATA[<p>En este artículo muestran los pásos a seguir para utilizar los servicios de firma digital ( XAdes, Facturae, &#8230;), autenticación (FNMT, Firma Profesional, ANCERT, &#8230;) y verificación de validez de certificados ( OCSP, CRLs, &#8230;) desde aplicaciones ASP.NET gracias a <a href="http://www.viafirma.com" title="Plataforma de autenticación y firma digital compatible con ASP.NET / C# 2.0 3.0">Viafirma</a>.</p>
<p><strong>1- Añadir las dependencias necesarias</strong></p>
<p>Es necesario que incorporemos al proyecto las siguientes dlls incluidas en el kit de desarrollo de Viafirma:  DotNetOpenId.dll, log4net.dll y ViafirmaClientDotNet.dll.</p>
<p><a href="http://www.xnoccio.com/wp-content/uploads/2008/11/addreference_firma_digital_viafirma_11.png" title="Añadir referencias para firma digital"><img src="http://www.xnoccio.com/wp-content/uploads/2008/11/addreference_firma_digital_viafirma_11.png" alt="Añadir referencias para firma digital" /></a> <a href="http://www.xnoccio.com/wp-content/uploads/2008/11/addreference_firma_digital_viafirma_21.png" title="Añadir referencias para firma digital ( openid , viafirmaClient, log4net)"><img src="http://www.xnoccio.com/wp-content/uploads/2008/11/addreference_firma_digital_viafirma_21.png" alt="Añadir referencias para firma digital ( openid , viafirmaClient, log4net)" height="249" width="329" /></a></p>
<p>Por otro lado también necesitaremos añadir el  directorio &#8220;viafirma&#8221; y que contiene los ficheros:</p>
<ul>
<li><em>Default.aspx</em>: con los métodos que deben ser sobreescritos con el comportamiento específico a ejecutar cuando finalice el proceso de firma.</li>
<li><em>viafirmaStyle.css</em>: con la apariencia que viafirma adoptara para el proceso de autenticación o firma. Este css puede ser adaptado a la identidad corporativa de la aplicación cliente.</li>
<li><em>xrds.aspx</em>: necesario para el correcto funcionamiento de la comunicación OpenID.</li>
</ul>
<p><strong>2- Creamos una página de ejemplo desde la que realizar la firma<br />
</strong></p>
<p>Creamos una primera página aspx en la que simplemente colocaremos un botón de acción asociado a un controlador de página que utilizará el API de Viafirma para firmar digitalmente un fichero de ejemplo con el certificado digital al usuario.</p>
<p>El código de la aplicación de ejemplo queda como el siguiente:</p>
<p>&lt;%@ Page Language=&#8221;C#&#8221; Inherits=&#8221;AplicacionEjemploClienteViafirma.Default&#8221; %&gt;<br />
&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;h2&gt;Ejemplo de integración Viafirma con .Net&lt;/h2&gt;<br />
&lt;form id=&#8221;form1&#8243; runat=&#8221;server&#8221;&gt;<br />
&lt;p&gt;Pruebe la autenticación&lt;/p&gt;<br />
<font size="2"><font size="2" color="#0000ff"><font size="2" color="#0000ff">&lt;</font></font><font size="2" color="#800000"><font size="2" color="#800000">asp</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">:</font></font><font size="2" color="#800000"><font size="2" color="#800000">button</font></font><font size="2"> </font><font size="2" color="#ff0000"><font size="2" color="#ff0000">id</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">=&#8221;firmarButton&#8221;</font></font><font size="2"> </font><font size="2" color="#ff0000"><font size="2" color="#ff0000">runat</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">=&#8221;server&#8221;</font></font><font size="2"> </font><font size="2" color="#ff0000"><font size="2" color="#ff0000">text</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">=&#8221;Firmar un documento de ejemplo con Viafirma&#8221;</font></font><font size="2"> </font><font size="2" color="#ff0000"><font size="2" color="#ff0000">onClick</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">=&#8221;FirmarButton_Click&#8221;</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">/&gt;</font></font><br />
&lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt; </font></p>
<p><strong>3- Implementar el método  FirmarButton_Click</strong></p>
<p>En este método simplemente indicaremos al cliente de viafirma cuál es la url pública de acceso a Viafirma, cuál es la url de acceso al servicio web de Viafirma, y registraremos un fichero para su firma.</p>
<pre><code><font size="2" color="#0000ff"><font size="2" color="#0000ff">public</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">void</font></font><font size="2"> FirmarButton_Click(</font><font size="2" color="#0000ff"><font size="2" color="#0000ff">object</font></font><font size="2"> sender, </font><font size="2" color="#008080"><font size="2" color="#008080">EventArgs</font></font><font size="2"> e)</font><font size="2">{

 <font size="2" color="#008000"><font size="2" color="#008000">   // Configuramos el cliente de viafirma ( En una aplicación real esto se realiza al iniciar la aplicación)
</font></font> </font><font size="2">   </font><font size="2" color="#008080"><font size="2" color="#008080">ViafirmaClientFactory</font></font><font size="2">.Init(</font><font size="2" color="#800000"><font size="2" color="#800000">"http://viafirma.viavansi.com/viafirma"</font></font><font size="2">, </font><font size="2" color="#800000"><font size="2" color="#800000"><a href="http://viafirma.viavansi.com/viafirma">http://viafirma.viavansi.com/viafirma</a></font></font><font size="2">);
</font><font size="2"><font size="2" color="#008000"><font size="2" color="#008000">    // Recuperamos / Generamos el contenido del documento a firmar. ( Como ejemplo generamos un txt ) </font></font>
</font></code><code><font size="2" color="#0000ff"><font size="2" color="#0000ff">    byte</font></font><font size="2">[] datos_a_firmar = System.Text.</font><font size="2" color="#008080"><font size="2" color="#008080">ASCIIEncoding</font></font><font size="2">.ASCII.GetBytes(</font><font size="2" color="#800000"><font size="2" color="#800000">"Contenido del documento firmado"</font></font><font size="2">);
</font><font size="2">    <font size="2" color="#008000"><font size="2" color="#008000">// Enviamos a firmar el documento
</font></font>     </font><font size="2" color="#008080"><font size="2" color="#008080">ViafirmaClient</font></font><font size="2"> clienteViafirma = </font><font size="2" color="#008080"><font size="2" color="#008080">ViafirmaClientFactory</font></font><font size="2">.GetInstance();
</font><font size="2"><font size="2">    <font size="2" color="#008000"><font size="2" color="#008000">// Registramos el documento que deseamos firmar. Obteniendo un identificador temporal.
</font></font></font></font><font size="2">    </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">string</font></font><font size="2"> idTemporalFirma = clienteViafirma.PrepareFirmaWithTypeFileAndFormatSign(</font><font size="2" color="#800000"><font size="2" color="#800000">"FicheroEjemplo.txt"</font></font><font size="2">, </font><font size="2" color="#008080"><font size="2" color="#008080">typeFile</font></font><font size="2">.txt, </font><font size="2" color="#008080"><font size="2" color="#008080">typeFormatSign</font></font><font size="2">.XADES_EPES_ENVELOPED, datos_a_firmar);
    </font><font size="2">System.<font size="2" color="#008080"><font size="2" color="#008080">Console</font></font><font size="2">.Write(</font><font size="2" color="#800000"><font size="2" color="#800000">"idTemporalFirma: "</font></font><font size="2"> + idTemporalFirma);
    <font size="2" color="#008000"><font size="2" color="#008000">// Iniciamos el proceso de firma redireccionando al usuario a Viafirma interactuando con el usuario..
</font></font></font></font><font size="2">    clienteViafirma.Sign(idTemporalFirma);
</font><font size="2">}

</font>    </code></pre>
<p>Con este simple código ya conseguimos que nuestra aplicación ASP.NET utilice Viafirma para que sea ésta la responsable de solicitar, validar, recuperar el certificado o DNI electrónico del usuario y firmar el documento digitalmente.  En este ejemplo se ha realizado la firma de un fichero de texto utilizando en formato XADES, pero de una forma muy similar se podría haber optado por realizar la firma de un pdf o de una factura electrónica.</p>
<p>Una vez que el proceso termine, Viafirma devolverá el control a la aplicación ASP.NET retornando todos los datos obtenidos del certificado, junto con el identificador de firma asociado al documento firmado.</p>
<p><strong>Obtener los datos de respuesta</strong></p>
<p>Una vez que Viafirma obtenga los datos del certificado de usuario invocará al método ProcessResponseSign, que se encuentra en el fichero Default.aspx dentro del directorio viafirma. Lo único que tendremos que hacer es sobreescribir dicho método con el comportamiento deseado y recuperar todos los datos de la firma del objeto FirmaInfoViafirma.<br />
En este ejemplo, si la firma ha sido correcta, redireccionamos al usuario a una página de destino.</p>
<pre><code><font size="2" color="#0000ff"><font size="2" color="#0000ff">override</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">public</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">void</font></font><font size="2"> ProcessResponseSign(Viafirma.</font><font size="2" color="#008080"><font size="2" color="#008080">Estado</font></font><font size="2"> estado,Viafirma.</font><font size="2" color="#008080"><font size="2" color="#008080">FirmaInfoViafirma</font></font><font size="2"> firma){

</font><font size="2">    Viafirma.<font size="2" color="#008080"><font size="2" color="#008080">Log</font></font><font size="2">.Debug(</font><font size="2" color="#800000"><font size="2" color="#800000">"Firma Viafirma realizada correctamente."</font></font><font size="2">);<font size="2" color="#008000"><font size="2" color="#008000">
    // Aquí ya tenemos todos los datos asociados al cliente y a su firma.</font></font>    </font>
</font><font size="2"><font size="2" color="#008000"><font size="2" color="#008000">    //redireccionamos al usuario a la p gina destino considerando el usuario ya ha finalizado la firma.</font></font>
    </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">if</font></font><font size="2">(Viafirma.</font><font size="2" color="#008080"><font size="2" color="#008080">Estado</font></font><font size="2">.OK== estado){
</font><font size="2">       Session[<font size="2" color="#800000"><font size="2" color="#800000">"resultadoFirma"</font></font><font size="2">]= firma;
    </font>   </font><font size="2" color="#008080"><font size="2" color="#008080">Uri</font></font><font size="2"> url=</font><font size="2" color="#0000ff"><font size="2" color="#0000ff">new</font></font><font size="2"> </font><font size="2" color="#008080"><font size="2" color="#008080">Uri</font></font><font size="2">(</font><font size="2" color="#008080"><font size="2" color="#008080">HttpContext</font></font><font size="2">.Current.Request.Url, </font><font size="2" color="#008080"><font size="2" color="#008080">HttpContext</font></font><font size="2">.Current.Response.ApplyAppPathModifier(</font><font size="2" color="#800000"><font size="2" color="#800000">"~/resultadoFirma.aspx"</font></font><font size="2">));
</font><font size="2"><font size="2" color="#008080"><font size="2" color="#008080">       HttpContext</font></font><font size="2">.Current.Response.Redirect(url.AbsoluteUri);
    }</font> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">else</font></font><font size="2">{
</font><font size="2"><font size="2" color="#008000"><font size="2" color="#008000">      // Hay problemas al firmar.</font></font>
</font><font size="2">    }
}</font></code></pre>
<p>A continuación se muestran algunas capturas de pantalla de la aplicación de ejemplo ASP.NET en acción:</p>
<p>Página inicial de la aplicación de ejemplo: ( contenida en el Kit de desarrollo de Viafirma)</p>
<p><a href="http://www.xnoccio.com/wp-content/uploads/2008/11/ejemplo_firma_digital_dot_net_asp1.png" title="Ejemplo de firma desde ASP.NET 1"><img src="http://www.xnoccio.com/wp-content/uploads/2008/11/ejemplo_firma_digital_dot_net_asp1.png" alt="Ejemplo de firma desde ASP.NET 1" /></a></p>
<p>La aplicación ASP.NET interactuando con Viafirma para realizar la firma.</p>
<p><a href="http://www.xnoccio.com/wp-content/uploads/2008/11/ejemplo_firma_digital_dot_net_asp_21.png" title="Ejemplo de firma desde ASP.NET 2"><img src="http://www.xnoccio.com/wp-content/uploads/2008/11/ejemplo_firma_digital_dot_net_asp_21.png" alt="Ejemplo de firma desde ASP.NET 2" /></a></p>
<p>La aplicación ASP.NET muestra algunos de los datos retornados tras el proceso de firma.</p>
<p><a href="http://www.xnoccio.com/wp-content/uploads/2008/11/addreference_firma_digital_viafirma_31.png" title="Ejemplo de firma desde ASP.NET 3 retornando los resultados de la firma"><img src="http://www.xnoccio.com/wp-content/uploads/2008/11/addreference_firma_digital_viafirma_31.png" alt="Ejemplo de firma desde ASP.NET 3 retornando los resultados de la firma" /></a></p>
<p><a href="http://xnoccio.com/wp-admin/upload.php?style=inline&amp;tab=browse&amp;action=view&amp;ID=400&amp;post_id=395&amp;paged" title="Ejemplo de firma desde ASP.NET 3 retornando los resultados de la firma" id="file-link-400" class="file-link image"></a></p>
<p><a href="http://www.xnoccio.com/wp-content/uploads/2008/11/ejemplo_firma_digital_dot_net_asp_21.png" title="Ejemplo de firma desde ASP.NET 2"><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.xnoccio.com/es/395-xades-dnie-csharp-aspnet-firma-digital-y-autenticacion-con-viafirma-ii/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>C# / ASP.NET : Firma digital y autenticación con Viafirma (I)</title>
		<link>http://www.xnoccio.com/es/391-csharp-aspnet-firma-digital-y-autenticacion-con-viafirma-i/</link>
		<comments>http://www.xnoccio.com/es/391-csharp-aspnet-firma-digital-y-autenticacion-con-viafirma-i/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 21:02:40 +0000</pubDate>
		<dc:creator>Felix G. Borrego</dc:creator>
				<category><![CDATA[viafirma]]></category>
		<category><![CDATA[asp.net]]></category>

		<guid isPermaLink="false">http://xnoccio.com/391-c-aspnet-firma-digital-y-autenticacion-con-viafirma-i/</guid>
		<description><![CDATA[Aunque Viafirma ofrece todos sus servicios mediante métodos estándar ( Servicios Web y OpenID), hemos desarrollado un cliente para .Net que permite de una forma muy sencilla integrar aplicaciones desarrolladas en esta tecnología con los servicios que ofrece Viafirma.
En este artículo mostraremos cómo añadir las dlls necesarias al proyecto y cómo hacer uso de los [...]]]></description>
			<content:encoded><![CDATA[<p>Aunque Viafirma ofrece todos sus servicios mediante métodos estándar ( Servicios Web y OpenID), hemos desarrollado un cliente para .Net que permite de una forma <strong>muy sencilla</strong> integrar aplicaciones desarrolladas en esta tecnología con los servicios que ofrece <a href="http://www.viafirma.com" title="Firma digital con C# / ASP.NET /csharp">Viafirma</a>.</p>
<p>En este artículo mostraremos cómo añadir las dlls necesarias al proyecto y cómo hacer uso de los diferentes servicios de firma digital (<strong>XAdES</strong>, <strong>Facturae</strong>, PDF sign, etc&#8230; ), autenticación (<strong>FNMT</strong>, Camerfirma, Firma profesional, <strong>DNIe</strong>, etc&#8230;),  custodia (integridad, etc&#8230;)  y verificación (<strong>CRLS</strong>, <strong>OCSP</strong>, etc&#8230;).</p>
<p><strong>1- Añadir las dependencias necesarias</strong></p>
<p>Es necesario que incorporemos al proyecto las siguientes dlls incluidas en el kit de desarrollo de Viafirma:  DotNetOpenId.dll, log4net.dll y ViafirmaClientDotNet.dll.</p>
<p>Por otro lado también necesitaremos añadir el  directorio &#8220;viafirma&#8221; y que contiene los ficheros:</p>
<ul>
<li><em>Default.aspx</em>: con los métodos que se ejecután cuando el proceso de autenticación o firma finalice.</li>
<li><em>viafirmaStyle.css</em>: con la apariencia que viafirma adoptara para el proceso de autenticación o firma.</li>
<li><em>xrds.aspx</em>: necesario para el correcto funcionamiento de la comunicación OpenID.</li>
</ul>
<p><strong>2- Creamos la página de acceso a la autenticación.<br />
</strong></p>
<p>Creamos una primera página aspx en la que simplemente colocaremos un botón de acción asociado a un controlador de página que utilizará el API de Viafirma para autenticar con certificado digital al usuario..</p>
<p>El código de la aplicación de ejemplo queda como el siguiente:</p>
<pre>
&lt;%@ Page Language="C#" Inherits="AplicacionEjemploClienteViafirma.Default" %&gt;
&lt;html&gt;
&lt;body&gt;
&lt;h2&gt;Ejemplo de integración Viafirma con .Net&lt;/h2&gt;
&lt;form id="form1" runat="server"&gt;
&lt;p&gt;Pruebe la autenticación&lt;/p&gt;
&lt;asp:button id="autenticarButton" runat="server" text="Autenticar al usuario con certificado o dnie" onClick="autenticarButton_Click" /&gt;
&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p><strong>3- Implementar el evento  autenticarButton_Click</strong></p>
<p>En este método simplemente indicaremos al cliente de viafirma cuál es la url pública de acceso a Viafirma y cuál es la url de acceso al servicio web de Viafirma.</p>
<pre><code>public void autenticarButton_Click(object sender,EventArgs e){
    // Configuramos el cliente de viafirma ( En una aplicación real esto se realiza al iniciar la aplicación)
    ViafirmaClientFactory.Init("http://pruebas.viavansi.com/viafirma","http://pruebas.viavansi.com/viafirma");</code>
    // Obtenemos una instancia del cliente e iniciamos la autenticación
   ViafirmaClient clienteViafirma=ViafirmaClientFactory.GetInstance();
   <strong>clienteViafirma.Autenticate();</strong>
}</pre>
<p>Con este simple código ya conseguimos que nuestra aplicación ASP.NET utilice Viafirma para que sea ésta la responsable de solicitar, validar y recuperar el certificado o DNI electrónico del usuario. Una vez que el proceso termine, Viafirma devolverá el control a la aplicación ASP.NET retornando todos los datos obtenidos del certificado.</p>
<p><strong>Obtener los datos de respuesta</strong></p>
<p>Una vez que Viafirma obtenga los datos del certificado de usuario invocara al método ProcessResponseAutenticacion, que se encuentra en el fichero Default.aspx dentro del directorio viafirma. Lo único que tendremos que hacer es sobreescribir dicho método con el comportamiento deseado y recuperar todos los datos del certificado del objeto UsuarioGenericoViafirma.<br />
En este ejemplo si la autenticación ha sido correcta redireccionamos al usuario a una página de destino.</p>
<pre><code>override public void ProcessResponseAutenticaction(Viafirma.Estado estado,Viafirma.UsuarioGenericoViafirma usuario){
    Viafirma.Log.Debug("Autenticación Viafirma realizada correctamente. Resultado:"+ estado);
    // Aquí ya tenemos todos los datos asociados al cliente. y redireccionar al usuario a la página destino
    // considerando el usuario ya autenticado.
    if(Viafirma.Estado.OK== estado){
        Session["resultadoAutenticacion"]= usuario;
        Uri url=new Uri(HttpContext.Current.Request.Url, HttpContext.Current.Response.ApplyAppPathModifier("~/resultadoAutenticacion.aspx"));
        HttpContext.Current.Response.Redirect(url.AbsoluteUri);
    }else{
        // Hay problemas al validar.
    }
}</code></pre>
<p>Próximamane: <a href="http://xnoccio.com/395-xades-dnie-csharp-aspnet-firma-digital-y-autenticacion-con-viafirma-ii/" title="Firma digital con Viafirma">C# / ASP.NET : Firma digital y autenticación con Viafirma (II)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.xnoccio.com/es/391-csharp-aspnet-firma-digital-y-autenticacion-con-viafirma-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

