<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comentarios en: Utilizar certificados digitales desde .NET</title>
	<atom:link href="http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/</link>
	<description>Blog de Scientia® Soluciones Informaticas</description>
	<lastBuildDate>Wed, 08 Feb 2012 16:50:55 -0200</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
	<item>
		<title>Por: Rolivar Peraza</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-2969</link>
		<dc:creator>Rolivar Peraza</dc:creator>
		<pubDate>Thu, 10 Nov 2011 15:38:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-2969</guid>
		<description>Excelente información, solo por favor, te lo ruego, cambia tu combinación de colores porque es cansadísimo leer con fondo negro.</description>
		<content:encoded><![CDATA[<p>Excelente información, solo por favor, te lo ruego, cambia tu combinación de colores porque es cansadísimo leer con fondo negro.
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_2969" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c2969" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c2969" class="gdsr_rating_as"><a id="gdsrX2969X5X0XcXcomment_rater_2969Xcomment_loader_2969" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX2969X4X0XcXcomment_rater_2969Xcomment_loader_2969" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX2969X3X0XcXcomment_rater_2969Xcomment_loader_2969" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX2969X2X0XcXcomment_rater_2969Xcomment_loader_2969" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX2969X1X0XcXcomment_rater_2969Xcomment_loader_2969" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_2969" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c2969" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: reinaldovb</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-859</link>
		<dc:creator>reinaldovb</dc:creator>
		<pubDate>Tue, 24 May 2011 18:00:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-859</guid>
		<description>Buenos dias, muchas gracias por ayudarnos son pocas las personas q comparten su conocimiento.

tengo un problema al generar la firma de un texto en este caso es un string de un conjunto de tag XML.

el codigo es el siguiente VB.NET
&lt;code&gt;
        Dim _Certificado As New X509Certificate2(&quot;C:\certificadodigital.pfx&quot;, &quot;1234&quot;)

        &#039;Dim rsa As RSACryptoServiceProvider = _Certificado.PrivateKey
        Dim rsa As New RSACryptoServiceProvider(512)

        Dim msbyt() As Byte

        Dim byteconverter As New ASCIIEncoding()

        msbyt = byteconverter.GetBytes(&quot;Texto a Encriptar&quot;)

        Dim hashbyte() As Byte

        Dim sha As New SHA1CryptoServiceProvider()

        hashbyte = sha.ComputeHash(msbyt)

        Dim sgnbyt() As Byte

        &#039;FIRMO EL DOCUMENTO
        sgnbyt = rsa.SignHash(hashbyte, &quot;SHA1&quot;)

        Debug.Print (Convert.ToBase64String(sgnbyt))

&lt;/code&gt;
Mi problema radica en que el certificado al poseer un largo de llave 1024 como resultado me entrega 172 caracteres. 
pero si no cargo la llave del certificado y genero un RSACryptoServiceProvider de 512(por defecto crea de 1024) asi q lo cambio RSACryptoServiceProvider(512). esto me genera mis 88 caracteres finales. pero obiamente no me sirve por que no se genera con las llaves del certificado.  
estas son las lineas q ocupo la que esta con comentario es la que genera el RSACryptoServiceProvider con la llave del certificado (pero con 1024)
&lt;code&gt;
        &#039;Dim rsa As RSACryptoServiceProvider = _Certificado.PrivateKey
        Dim rsa As New RSACryptoServiceProvider(512)
&lt;/code&gt;

como puedo generar la firma pero con 512??? 
gracias de antemano.

&lt;i&gt;Quisiera arreglar el mundo... pero no me dan el codigo fuente!&lt;/i&gt;</description>
		<content:encoded><![CDATA[<p>Buenos dias, muchas gracias por ayudarnos son pocas las personas q comparten su conocimiento.</p>
<p>tengo un problema al generar la firma de un texto en este caso es un string de un conjunto de tag XML.</p>
<p>el codigo es el siguiente VB.NET<br />
<code><br />
        Dim _Certificado As New X509Certificate2("C:\certificadodigital.pfx", "1234")</p>
<p>        'Dim rsa As RSACryptoServiceProvider = _Certificado.PrivateKey<br />
        Dim rsa As New RSACryptoServiceProvider(512)</p>
<p>        Dim msbyt() As Byte</p>
<p>        Dim byteconverter As New ASCIIEncoding()</p>
<p>        msbyt = byteconverter.GetBytes("Texto a Encriptar")</p>
<p>        Dim hashbyte() As Byte</p>
<p>        Dim sha As New SHA1CryptoServiceProvider()</p>
<p>        hashbyte = sha.ComputeHash(msbyt)</p>
<p>        Dim sgnbyt() As Byte</p>
<p>        'FIRMO EL DOCUMENTO<br />
        sgnbyt = rsa.SignHash(hashbyte, "SHA1")</p>
<p>        Debug.Print (Convert.ToBase64String(sgnbyt))</p>
<p></code><br />
Mi problema radica en que el certificado al poseer un largo de llave 1024 como resultado me entrega 172 caracteres.<br />
pero si no cargo la llave del certificado y genero un RSACryptoServiceProvider de 512(por defecto crea de 1024) asi q lo cambio RSACryptoServiceProvider(512). esto me genera mis 88 caracteres finales. pero obiamente no me sirve por que no se genera con las llaves del certificado.<br />
estas son las lineas q ocupo la que esta con comentario es la que genera el RSACryptoServiceProvider con la llave del certificado (pero con 1024)<br />
<code><br />
        'Dim rsa As RSACryptoServiceProvider = _Certificado.PrivateKey<br />
        Dim rsa As New RSACryptoServiceProvider(512)<br />
</code></p>
<p>como puedo generar la firma pero con 512???<br />
gracias de antemano.</p>
<p><i>Quisiera arreglar el mundo&#8230; pero no me dan el codigo fuente!</i>
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_859" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c859" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c859" class="gdsr_rating_as"><a id="gdsrX859X5X0XcXcomment_rater_859Xcomment_loader_859" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX859X4X0XcXcomment_rater_859Xcomment_loader_859" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX859X3X0XcXcomment_rater_859Xcomment_loader_859" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX859X2X0XcXcomment_rater_859Xcomment_loader_859" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX859X1X0XcXcomment_rater_859Xcomment_loader_859" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_859" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c859" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: jomarmen</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-224</link>
		<dc:creator>jomarmen</dc:creator>
		<pubDate>Mon, 25 Oct 2010 14:55:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-224</guid>
		<description>Hola, primero que nada fantástico articulo.

Estoy teniendo problemas a la hora de desencriptar un masaje mediante certificado, he seguido tus pasos pero obtengo este error cuando intento realizar el decrypt

El mensaje con datos envueltos no contiene el recipiente especificado.

Concretamente en la linea


objEncryptedData.Decrypt();

No entiendo en tu código porque cuando desencriptas no le indicas el certificado pero cuando encriptas si.

un saludo</description>
		<content:encoded><![CDATA[<p>Hola, primero que nada fantástico articulo.</p>
<p>Estoy teniendo problemas a la hora de desencriptar un masaje mediante certificado, he seguido tus pasos pero obtengo este error cuando intento realizar el decrypt</p>
<p>El mensaje con datos envueltos no contiene el recipiente especificado.</p>
<p>Concretamente en la linea</p>
<p>objEncryptedData.Decrypt();</p>
<p>No entiendo en tu código porque cuando desencriptas no le indicas el certificado pero cuando encriptas si.</p>
<p>un saludo
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_224" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c224" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c224" class="gdsr_rating_as"><a id="gdsrX224X5X0XcXcomment_rater_224Xcomment_loader_224" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX224X4X0XcXcomment_rater_224Xcomment_loader_224" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX224X3X0XcXcomment_rater_224Xcomment_loader_224" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX224X2X0XcXcomment_rater_224Xcomment_loader_224" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX224X1X0XcXcomment_rater_224Xcomment_loader_224" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_224" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c224" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gustavo Cantero (The Wolf)</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-195</link>
		<dc:creator>Gustavo Cantero (The Wolf)</dc:creator>
		<pubDate>Mon, 02 Aug 2010 12:56:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-195</guid>
		<description>Hola, Sebastián, gracias  por los cumplidos.
Sobre tu problema, puede ser que el CA del certificado con el que firmaste tus datos no esté instalado en un repositorio de confianza en el servidor destino?  ¿Podés verificar la firma en tu máquina para ver si da algún error?
Suerte!</description>
		<content:encoded><![CDATA[<p>Hola, Sebastián, gracias  por los cumplidos.<br />
Sobre tu problema, puede ser que el CA del certificado con el que firmaste tus datos no esté instalado en un repositorio de confianza en el servidor destino?  ¿Podés verificar la firma en tu máquina para ver si da algún error?<br />
Suerte!
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_195" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c195" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c195" class="gdsr_rating_as"><a id="gdsrX195X5X0XcXcomment_rater_195Xcomment_loader_195" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX195X4X0XcXcomment_rater_195Xcomment_loader_195" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX195X3X0XcXcomment_rater_195Xcomment_loader_195" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX195X2X0XcXcomment_rater_195Xcomment_loader_195" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX195X1X0XcXcomment_rater_195Xcomment_loader_195" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_195" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c195" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Sebastian</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-192</link>
		<dc:creator>Sebastian</dc:creator>
		<pubDate>Thu, 29 Jul 2010 19:46:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-192</guid>
		<description>Hola Gustavo muy bueno tu aporte. la verdad que lamento no haberlo encontrado cuando empeze a lidiar con certificados me hubiese ahorrado un par de dolores de cabeza. aunque todavia tengo uno.
Paso a comentarte cual es el Problema:
Debo firmar una parte de un xml que envio a una entidad, logro encriptarla y firmarla pero la misma me dice que la firma no es valida. El Certificado ya esta validado y llego al web services de ellos por lo que descarto que por el Certificado no llegue ya que recibo un error de que la firma no es valida por parte de ellos.
Estoy intentando hacerlo de esta manera

 Dim hasher As New SHA1CryptoServiceProvider()
        Dim _Certificado As New X509Certificate2(&quot;certificado&quot;, &quot;pass&quot;)
        &#039;CREO OBTENER LA CLAVE PRIVADA PARA LUEGO CON EL OBJETO rsa poder firmar
        Dim rsa As RSACryptoServiceProvider = _Certificado.PrivateKey


        Dim msbyt() As Byte

        Dim byteconverter As New ASCIIEncoding()

        msbyt = byteconverter.GetBytes(&quot;XML a encriptar&quot;)

        Dim hshbyt() As Byte

        Dim sha As New SHA1CryptoServiceProvider()

        hshbyt = sha.ComputeHash(msbyt)

        Dim sgnbyt() As Byte

        &#039;FIRMO EL DOCUMENTO
        sgnbyt = rsa.SignHash(hshbyt, &quot;SHA1&quot;)

        Return Convert.ToBase64String(sgnbyt)

esto no produce errores ni nada sino que me devuelven como que la clave es invalida. Lo que busco hacer es poder levantar la clave privada de mi certificado para poder firmarla el tema es que no logro levantar dicha clave. Cualquier ayuda me sirve sin mas y agradeciendo por adelantado. te mando saludos</description>
		<content:encoded><![CDATA[<p>Hola Gustavo muy bueno tu aporte. la verdad que lamento no haberlo encontrado cuando empeze a lidiar con certificados me hubiese ahorrado un par de dolores de cabeza. aunque todavia tengo uno.<br />
Paso a comentarte cual es el Problema:<br />
Debo firmar una parte de un xml que envio a una entidad, logro encriptarla y firmarla pero la misma me dice que la firma no es valida. El Certificado ya esta validado y llego al web services de ellos por lo que descarto que por el Certificado no llegue ya que recibo un error de que la firma no es valida por parte de ellos.<br />
Estoy intentando hacerlo de esta manera</p>
<p> Dim hasher As New SHA1CryptoServiceProvider()<br />
        Dim _Certificado As New X509Certificate2(&#8220;certificado&#8221;, &#8220;pass&#8221;)<br />
        &#8216;CREO OBTENER LA CLAVE PRIVADA PARA LUEGO CON EL OBJETO rsa poder firmar<br />
        Dim rsa As RSACryptoServiceProvider = _Certificado.PrivateKey</p>
<p>        Dim msbyt() As Byte</p>
<p>        Dim byteconverter As New ASCIIEncoding()</p>
<p>        msbyt = byteconverter.GetBytes(&#8220;XML a encriptar&#8221;)</p>
<p>        Dim hshbyt() As Byte</p>
<p>        Dim sha As New SHA1CryptoServiceProvider()</p>
<p>        hshbyt = sha.ComputeHash(msbyt)</p>
<p>        Dim sgnbyt() As Byte</p>
<p>        &#8216;FIRMO EL DOCUMENTO<br />
        sgnbyt = rsa.SignHash(hshbyt, &#8220;SHA1&#8243;)</p>
<p>        Return Convert.ToBase64String(sgnbyt)</p>
<p>esto no produce errores ni nada sino que me devuelven como que la clave es invalida. Lo que busco hacer es poder levantar la clave privada de mi certificado para poder firmarla el tema es que no logro levantar dicha clave. Cualquier ayuda me sirve sin mas y agradeciendo por adelantado. te mando saludos
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_192" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c192" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c192" class="gdsr_rating_as"><a id="gdsrX192X5X0XcXcomment_rater_192Xcomment_loader_192" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX192X4X0XcXcomment_rater_192Xcomment_loader_192" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX192X3X0XcXcomment_rater_192Xcomment_loader_192" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX192X2X0XcXcomment_rater_192Xcomment_loader_192" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX192X1X0XcXcomment_rater_192Xcomment_loader_192" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_192" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c192" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gustavo Cantero (The Wolf)</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-191</link>
		<dc:creator>Gustavo Cantero (The Wolf)</dc:creator>
		<pubDate>Fri, 23 Jul 2010 12:19:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-191</guid>
		<description>¿Si guardás el contenido de la variable &lt;code&gt;bytSigned&lt;/code&gt; no te funciona?
Saludos.</description>
		<content:encoded><![CDATA[<p>¿Si guardás el contenido de la variable <code>bytSigned</code> no te funciona?<br />
Saludos.
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_191" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c191" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c191" class="gdsr_rating_as"><a id="gdsrX191X5X0XcXcomment_rater_191Xcomment_loader_191" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX191X4X0XcXcomment_rater_191Xcomment_loader_191" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX191X3X0XcXcomment_rater_191Xcomment_loader_191" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX191X2X0XcXcomment_rater_191Xcomment_loader_191" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX191X1X0XcXcomment_rater_191Xcomment_loader_191" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_191" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c191" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gustavo Cantero (The Wolf)</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-184</link>
		<dc:creator>Gustavo Cantero (The Wolf)</dc:creator>
		<pubDate>Thu, 22 Jul 2010 16:46:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-184</guid>
		<description>Muchas gracias!</description>
		<content:encoded><![CDATA[<p>Muchas gracias!
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_184" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c184" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c184" class="gdsr_rating_as"><a id="gdsrX184X5X0XcXcomment_rater_184Xcomment_loader_184" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX184X4X0XcXcomment_rater_184Xcomment_loader_184" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX184X3X0XcXcomment_rater_184Xcomment_loader_184" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX184X2X0XcXcomment_rater_184Xcomment_loader_184" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX184X1X0XcXcomment_rater_184Xcomment_loader_184" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_184" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c184" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Rich Rod</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-181</link>
		<dc:creator>Rich Rod</dc:creator>
		<pubDate>Thu, 22 Jul 2010 12:09:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-181</guid>
		<description>Hola Gustavo, he hecho algunos avances, pero no logro generar el fichero .p7s, he logrado ubicar los CD, encriptar un String, pero no sé como hacer para generar el fichero .p7s detached, que es el que se debe enviar junto con el fichero original. te adjunto el código que llevo hasta ahora (de más está decir que estoy incursionando en esto del C# recientemente) y aprovecho para volver a agradecerte por tus aportes, por otro lado, el código me falla en la instruccion &quot;CopyTo&quot;, 

Error	1	&#039;System.IO.FileStream&#039; does not contain a definition for &#039;CopyTo&#039; and no extension method &#039;CopyTo&#039; accepting a first argument of type &#039;System.IO.FileStream&#039; could be found (are you missing a using directive or an assembly reference?)

te dejo el Código:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Diagnostics;
using System.Security.Cryptography.Pkcs;
using System.IO;
using System.IO.Compression;

namespace form
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
         X509Store objStore = new X509Store(StoreName.My, StoreLocation.CurrentUser); //StoreLocation.LocalMachine);
         objStore.Open(OpenFlags.ReadOnly);
           foreach (X509Certificate2 objCert in objStore.Certificates)
            rtxtCerts.Text = rtxtCerts.Text + objCert.SubjectName.Name + &quot;: &quot; + objCert.Thumbprint + &quot;\n&quot;;
            objStore.Close();
        }

        private void btnExcrypt_Click(object sender, EventArgs e)
        {
            try
            {
            X509Certificate2 objCert = new X509Certificate2(@&quot;C:\Documents and Settings\USERNAME\Datos de programa\Microsoft\SystemCertificates\My\Certificates\THECERTIFICATECODE&quot;); 
            ContentInfo objContent = new ContentInfo(Encoding.ASCII.GetBytes(txtSource.Text));
            SignedCms objSignedData = new SignedCms(objContent, true);
            CmsSigner objSigner = new CmsSigner(objCert);
            objSignedData.ComputeSignature(objSigner);
            byte[] bytSigned = objSignedData.Encode();
            rtxtEncrypted.Text = Convert.ToBase64String(bytSigned);
            }
            catch (Exception ex)
            {
                MessageBox.Show(&quot;Exception caught &quot; + ex.ToString());
            }
        }

        private void btnCryptFile_Click(object sender, EventArgs e)
        {
            try
            {
             MemoryStream destination = new MemoryStream();
             X509Certificate2 objCert = new X509Certificate2(@&quot;C:\Documents and Settings\rerodriguez\Datos de programa\Microsoft\SystemCertificates\My\Certificates\THECERTIFICATECODE&quot;); 
             using (FileStream fsSource = new
// File 2 Encrypt (pedido en la forma)
 FileStream(txtFile2Crypt.Text, FileMode.Open, FileAccess.Read))
             using (MemoryStream MS = new MemoryStream())
             using (GZipStream Zip = new GZipStream(MS, CompressionMode.Compress, true))
             {

               //  fsSource.CopyTo(Zip);  Error no le gusta

                 byte[] bytes = new byte[fsSource.Length];
                 int numBytesToRead = (int)fsSource.Length;
                 int numBytesRead = 0;
                 while (numBytesToRead &gt; 0)
                 {
                     int n = fsSource.Read(bytes, numBytesRead, numBytesToRead);
                     if (n == 0)
                         break;

                     numBytesRead += n;
                     numBytesToRead -= n;
                 }
                 numBytesToRead = bytes.Length;

            ContentInfo objContent = new ContentInfo(bytes);
            SignedCms objSignedData = new SignedCms(objContent, true);
            CmsSigner objSigner = new CmsSigner(objCert);

            objSignedData.ComputeSignature(objSigner);

            byte[] bytSigned = objSignedData.Encode();
            rtxtEncrypted.Text = &quot;Fichero Firmado&quot;; // Convert.ToBase64String(bytSigned);
            }    
             }
            catch (Exception ex)
            {
                MessageBox.Show(&quot;Exception caught here&quot; + ex.ToString());
            }
        }
    }
}</description>
		<content:encoded><![CDATA[<p>Hola Gustavo, he hecho algunos avances, pero no logro generar el fichero .p7s, he logrado ubicar los CD, encriptar un String, pero no sé como hacer para generar el fichero .p7s detached, que es el que se debe enviar junto con el fichero original. te adjunto el código que llevo hasta ahora (de más está decir que estoy incursionando en esto del C# recientemente) y aprovecho para volver a agradecerte por tus aportes, por otro lado, el código me falla en la instruccion &#8220;CopyTo&#8221;, </p>
<p>Error	1	&#8216;System.IO.FileStream&#8217; does not contain a definition for &#8216;CopyTo&#8217; and no extension method &#8216;CopyTo&#8217; accepting a first argument of type &#8216;System.IO.FileStream&#8217; could be found (are you missing a using directive or an assembly reference?)</p>
<p>te dejo el Código:</p>
<p>using System;<br />
using System.Collections.Generic;<br />
using System.ComponentModel;<br />
using System.Data;<br />
using System.Drawing;<br />
using System.Linq;<br />
using System.Text;<br />
using System.Windows.Forms;<br />
using System.Security.Cryptography;<br />
using System.Security.Cryptography.X509Certificates;<br />
using System.Diagnostics;<br />
using System.Security.Cryptography.Pkcs;<br />
using System.IO;<br />
using System.IO.Compression;</p>
<p>namespace form<br />
{<br />
    public partial class Form1 : Form<br />
    {<br />
        public Form1()<br />
        {<br />
            InitializeComponent();<br />
        }<br />
        private void button1_Click(object sender, EventArgs e)<br />
        {<br />
         X509Store objStore = new X509Store(StoreName.My, StoreLocation.CurrentUser); //StoreLocation.LocalMachine);<br />
         objStore.Open(OpenFlags.ReadOnly);<br />
           foreach (X509Certificate2 objCert in objStore.Certificates)<br />
            rtxtCerts.Text = rtxtCerts.Text + objCert.SubjectName.Name + &#8220;: &#8221; + objCert.Thumbprint + &#8220;\n&#8221;;<br />
            objStore.Close();<br />
        }</p>
<p>        private void btnExcrypt_Click(object sender, EventArgs e)<br />
        {<br />
            try<br />
            {<br />
            X509Certificate2 objCert = new X509Certificate2(@&#8221;C:\Documents and Settings\USERNAME\Datos de programa\Microsoft\SystemCertificates\My\Certificates\THECERTIFICATECODE&#8221;);<br />
            ContentInfo objContent = new ContentInfo(Encoding.ASCII.GetBytes(txtSource.Text));<br />
            SignedCms objSignedData = new SignedCms(objContent, true);<br />
            CmsSigner objSigner = new CmsSigner(objCert);<br />
            objSignedData.ComputeSignature(objSigner);<br />
            byte[] bytSigned = objSignedData.Encode();<br />
            rtxtEncrypted.Text = Convert.ToBase64String(bytSigned);<br />
            }<br />
            catch (Exception ex)<br />
            {<br />
                MessageBox.Show(&#8220;Exception caught &#8221; + ex.ToString());<br />
            }<br />
        }</p>
<p>        private void btnCryptFile_Click(object sender, EventArgs e)<br />
        {<br />
            try<br />
            {<br />
             MemoryStream destination = new MemoryStream();<br />
             X509Certificate2 objCert = new X509Certificate2(@&#8221;C:\Documents and Settings\rerodriguez\Datos de programa\Microsoft\SystemCertificates\My\Certificates\THECERTIFICATECODE&#8221;);<br />
             using (FileStream fsSource = new<br />
// File 2 Encrypt (pedido en la forma)<br />
 FileStream(txtFile2Crypt.Text, FileMode.Open, FileAccess.Read))<br />
             using (MemoryStream MS = new MemoryStream())<br />
             using (GZipStream Zip = new GZipStream(MS, CompressionMode.Compress, true))<br />
             {</p>
<p>               //  fsSource.CopyTo(Zip);  Error no le gusta</p>
<p>                 byte[] bytes = new byte[fsSource.Length];<br />
                 int numBytesToRead = (int)fsSource.Length;<br />
                 int numBytesRead = 0;<br />
                 while (numBytesToRead &gt; 0)<br />
                 {<br />
                     int n = fsSource.Read(bytes, numBytesRead, numBytesToRead);<br />
                     if (n == 0)<br />
                         break;</p>
<p>                     numBytesRead += n;<br />
                     numBytesToRead -= n;<br />
                 }<br />
                 numBytesToRead = bytes.Length;</p>
<p>            ContentInfo objContent = new ContentInfo(bytes);<br />
            SignedCms objSignedData = new SignedCms(objContent, true);<br />
            CmsSigner objSigner = new CmsSigner(objCert);</p>
<p>            objSignedData.ComputeSignature(objSigner);</p>
<p>            byte[] bytSigned = objSignedData.Encode();<br />
            rtxtEncrypted.Text = &#8220;Fichero Firmado&#8221;; // Convert.ToBase64String(bytSigned);<br />
            }<br />
             }<br />
            catch (Exception ex)<br />
            {<br />
                MessageBox.Show(&#8220;Exception caught here&#8221; + ex.ToString());<br />
            }<br />
        }<br />
    }<br />
}
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_181" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c181" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c181" class="gdsr_rating_as"><a id="gdsrX181X5X0XcXcomment_rater_181Xcomment_loader_181" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX181X4X0XcXcomment_rater_181Xcomment_loader_181" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX181X3X0XcXcomment_rater_181Xcomment_loader_181" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX181X2X0XcXcomment_rater_181Xcomment_loader_181" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX181X1X0XcXcomment_rater_181Xcomment_loader_181" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_181" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c181" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Rich Rod</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-180</link>
		<dc:creator>Rich Rod</dc:creator>
		<pubDate>Thu, 22 Jul 2010 10:58:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-180</guid>
		<description>Hola Gustavo, ya comencé con el proyecto que te he comentado, voy a hacer una forma que muestre los CD y que Firme un String de Texto, y que haga l propio con un fichero, al tener algo avanzado te lo dejo saber por si alguien lo necesita.

un Saludo-</description>
		<content:encoded><![CDATA[<p>Hola Gustavo, ya comencé con el proyecto que te he comentado, voy a hacer una forma que muestre los CD y que Firme un String de Texto, y que haga l propio con un fichero, al tener algo avanzado te lo dejo saber por si alguien lo necesita.</p>
<p>un Saludo-
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_180" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c180" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c180" class="gdsr_rating_as"><a id="gdsrX180X5X0XcXcomment_rater_180Xcomment_loader_180" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX180X4X0XcXcomment_rater_180Xcomment_loader_180" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX180X3X0XcXcomment_rater_180Xcomment_loader_180" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX180X2X0XcXcomment_rater_180Xcomment_loader_180" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX180X1X0XcXcomment_rater_180Xcomment_loader_180" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_180" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c180" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gustavo Cantero (The Wolf)</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-178</link>
		<dc:creator>Gustavo Cantero (The Wolf)</dc:creator>
		<pubDate>Wed, 21 Jul 2010 21:19:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-178</guid>
		<description>Hola, Rich.  Fíjate que en mi ejemplo el texto con convierto a un vector de bytes, ahí deberías poner los bytes de tu archivo en lugar de los del texto.
Acá te paso un ejemplo que debería funcionarte, deberías reemplazar la línea 8 por esto:

byte[] bytes;
using (FileStream In = File.OpenRead(&quot;c:\archivo.bin&quot;))
using (MemoryStream MS = new MemoryStream())
using (GZipStream Zip = new GZipStream(MS, CompressionMode.Compress, true))
{
    In.CopyTo(Zip);
    bytes = MS.GetBuffer();
}
ContentInfo objContent = new ContentInfo(bytes); 

Espero que te sirva.
Suerte!</description>
		<content:encoded><![CDATA[<p>Hola, Rich.  Fíjate que en mi ejemplo el texto con convierto a un vector de bytes, ahí deberías poner los bytes de tu archivo en lugar de los del texto.<br />
Acá te paso un ejemplo que debería funcionarte, deberías reemplazar la línea 8 por esto:</p>
<p>byte[] bytes;<br />
using (FileStream In = File.OpenRead(&#8220;c:\archivo.bin&#8221;))<br />
using (MemoryStream MS = new MemoryStream())<br />
using (GZipStream Zip = new GZipStream(MS, CompressionMode.Compress, true))<br />
{<br />
    In.CopyTo(Zip);<br />
    bytes = MS.GetBuffer();<br />
}<br />
ContentInfo objContent = new ContentInfo(bytes); </p>
<p>Espero que te sirva.<br />
Suerte!
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_178" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c178" style="width: 60px;" class="gdinner"></div>
<div id="gdr_stars_c178" class="gdsr_rating_as"><a id="gdsrX178X5X0XcXcomment_rater_178Xcomment_loader_178" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX178X4X0XcXcomment_rater_178Xcomment_loader_178" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX178X3X0XcXcomment_rater_178Xcomment_loader_178" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX178X2X0XcXcomment_rater_178Xcomment_loader_178" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX178X1X0XcXcomment_rater_178Xcomment_loader_178" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_178" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c178" class=" comment">Rating: 5.0/<strong>5</strong> (1 voto cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Rich Rod</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-176</link>
		<dc:creator>Rich Rod</dc:creator>
		<pubDate>Wed, 21 Jul 2010 12:49:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-176</guid>
		<description>Hola, realmente te felicito por este aporte, es utilísimo, necesito hacer un proyecto en C# el cual coja ficheros XML, los comprima en Zip (uno a uno) y luego firme digitalmente de forma Detached (con PKCS7#) usando un CD Personal, creo que esto es con tu ejemplo  &quot;Otra opción, dependiendo de la forma en la que se quiere utilizar el resultado, es la de crear la firma solamente, sin el documento:&quot; pero necesito hacerlo con ficheros en lugar que con texto, a medida que vaya avanzando te voy indicando del avance.

Un Saludo y vuelvo a agradecerte por tu aporte</description>
		<content:encoded><![CDATA[<p>Hola, realmente te felicito por este aporte, es utilísimo, necesito hacer un proyecto en C# el cual coja ficheros XML, los comprima en Zip (uno a uno) y luego firme digitalmente de forma Detached (con PKCS7#) usando un CD Personal, creo que esto es con tu ejemplo  &#8220;Otra opción, dependiendo de la forma en la que se quiere utilizar el resultado, es la de crear la firma solamente, sin el documento:&#8221; pero necesito hacerlo con ficheros en lugar que con texto, a medida que vaya avanzando te voy indicando del avance.</p>
<p>Un Saludo y vuelvo a agradecerte por tu aporte
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_176" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c176" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c176" class="gdsr_rating_as"><a id="gdsrX176X5X0XcXcomment_rater_176Xcomment_loader_176" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX176X4X0XcXcomment_rater_176Xcomment_loader_176" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX176X3X0XcXcomment_rater_176Xcomment_loader_176" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX176X2X0XcXcomment_rater_176Xcomment_loader_176" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX176X1X0XcXcomment_rater_176Xcomment_loader_176" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_176" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c176" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: beto hdez</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-167</link>
		<dc:creator>beto hdez</dc:creator>
		<pubDate>Thu, 01 Jul 2010 14:57:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-167</guid>
		<description>Gracias por los enlaces ya los checo</description>
		<content:encoded><![CDATA[<p>Gracias por los enlaces ya los checo
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_167" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c167" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c167" class="gdsr_rating_as"><a id="gdsrX167X5X0XcXcomment_rater_167Xcomment_loader_167" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX167X4X0XcXcomment_rater_167Xcomment_loader_167" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX167X3X0XcXcomment_rater_167Xcomment_loader_167" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX167X2X0XcXcomment_rater_167Xcomment_loader_167" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX167X1X0XcXcomment_rater_167Xcomment_loader_167" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_167" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c167" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gustavo Cantero (The Wolf)</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-165</link>
		<dc:creator>Gustavo Cantero (The Wolf)</dc:creator>
		<pubDate>Thu, 01 Jul 2010 13:50:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-165</guid>
		<description>Nunca necesité usar un PKCS#8, pero probablemente la librería &quot;Bouncy Castle&quot; te sirva, ya que implementa mucha funcionalidad para usar certificados y firmar, encriptar, etc.  La dirección del sitio es &lt;a href=&quot;http://www.bouncycastle.org/csharp&quot; rel=&quot;nofollow&quot;&gt;http://www.bouncycastle.org/csharp&lt;/a&gt;.
Aquí también tienes un artículo que seguramente te servirá: &lt;a href=&quot;http://www.codeproject.com/KB/security/porting_java_public_key.aspx&quot; rel=&quot;nofollow&quot;&gt;Porting Java Public Key Hash to C# .NET&lt;/a&gt;.
Suerte!</description>
		<content:encoded><![CDATA[<p>Nunca necesité usar un PKCS#8, pero probablemente la librería &#8220;Bouncy Castle&#8221; te sirva, ya que implementa mucha funcionalidad para usar certificados y firmar, encriptar, etc.  La dirección del sitio es <a href="http://www.bouncycastle.org/csharp" rel="nofollow">http://www.bouncycastle.org/csharp</a>.<br />
Aquí también tienes un artículo que seguramente te servirá: <a href="http://www.codeproject.com/KB/security/porting_java_public_key.aspx" rel="nofollow">Porting Java Public Key Hash to C# .NET</a>.<br />
Suerte!
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_165" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c165" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c165" class="gdsr_rating_as"><a id="gdsrX165X5X0XcXcomment_rater_165Xcomment_loader_165" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX165X4X0XcXcomment_rater_165Xcomment_loader_165" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX165X3X0XcXcomment_rater_165Xcomment_loader_165" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX165X2X0XcXcomment_rater_165Xcomment_loader_165" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX165X1X0XcXcomment_rater_165Xcomment_loader_165" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_165" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c165" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: beto hdez</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-164</link>
		<dc:creator>beto hdez</dc:creator>
		<pubDate>Thu, 01 Jul 2010 02:02:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-164</guid>
		<description>Hola Gustavo buscando como firmar una cadena llegue a tu blog. Mira estoy realizando una aplicacion en c# para sellar una factura el proceso es este:
1- con los datos de la factura se crea una cadena (Ya lo pude hacer)
2- Sacas el digest md5 de la cadena(Ya lo pude hacer)
3- hacienda (la oficina que recauda impuestos en Mexico )te da para pruebas dos archivos uno aaa010101aaa_CSD_01.cer, aaa010101aaa_CSD_01.key  y la clave del key privada &#039;a0123456789&#039; los archivos estan en formato DER PKCS8
4- Con la clave privada que se encuentra en el archivo aaa010101aaa_CSD_01.key se debe firma el resultado de la digestion md5 usando el algoritmo RSA esto ultimo es lo que no he se como hacer.

He visto alguno ejemplos em MSDN pero solo ultizan archivos xml para el RSA
no se si se pueda ultizar los archivos DER PKCS8 en .NET

Espero que me puedas ayudar o darme alguna orientacion donde pueda investigar para poder relizarlo.</description>
		<content:encoded><![CDATA[<p>Hola Gustavo buscando como firmar una cadena llegue a tu blog. Mira estoy realizando una aplicacion en c# para sellar una factura el proceso es este:<br />
1- con los datos de la factura se crea una cadena (Ya lo pude hacer)<br />
2- Sacas el digest md5 de la cadena(Ya lo pude hacer)<br />
3- hacienda (la oficina que recauda impuestos en Mexico )te da para pruebas dos archivos uno aaa010101aaa_CSD_01.cer, aaa010101aaa_CSD_01.key  y la clave del key privada &#8216;a0123456789&#8242; los archivos estan en formato DER PKCS8<br />
4- Con la clave privada que se encuentra en el archivo aaa010101aaa_CSD_01.key se debe firma el resultado de la digestion md5 usando el algoritmo RSA esto ultimo es lo que no he se como hacer.</p>
<p>He visto alguno ejemplos em MSDN pero solo ultizan archivos xml para el RSA<br />
no se si se pueda ultizar los archivos DER PKCS8 en .NET</p>
<p>Espero que me puedas ayudar o darme alguna orientacion donde pueda investigar para poder relizarlo.
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_164" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c164" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c164" class="gdsr_rating_as"><a id="gdsrX164X5X0XcXcomment_rater_164Xcomment_loader_164" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX164X4X0XcXcomment_rater_164Xcomment_loader_164" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX164X3X0XcXcomment_rater_164Xcomment_loader_164" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX164X2X0XcXcomment_rater_164Xcomment_loader_164" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX164X1X0XcXcomment_rater_164Xcomment_loader_164" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_164" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c164" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gustavo Cantero (The Wolf)</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-160</link>
		<dc:creator>Gustavo Cantero (The Wolf)</dc:creator>
		<pubDate>Thu, 24 Jun 2010 21:51:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-160</guid>
		<description>Alberto: te pido disculpas por la demora.  En el siguiente artículo explico como firmar un PDF utilizando un certificado X.509 desde .NET, seguramente te sirva: &lt;a href=&quot;http://www.programandoamedianoche.com/2010/06/como-firmar-un-documento-pdf-desde-c-sharp-con-itextsharp&quot; title=&quot;Cómo firmar un documento PDF desde C# con iTextSharp&quot; rel=&quot;nofollow&quot;&gt;Cómo firmar un documento PDF desde C# con iTextSharp&lt;/a&gt;.
Suerte!</description>
		<content:encoded><![CDATA[<p>Alberto: te pido disculpas por la demora.  En el siguiente artículo explico como firmar un PDF utilizando un certificado X.509 desde .NET, seguramente te sirva: <a href="http://www.programandoamedianoche.com/2010/06/como-firmar-un-documento-pdf-desde-c-sharp-con-itextsharp" title="Cómo firmar un documento PDF desde C# con iTextSharp" rel="nofollow">Cómo firmar un documento PDF desde C# con iTextSharp</a>.<br />
Suerte!
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_160" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c160" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c160" class="gdsr_rating_as"><a id="gdsrX160X5X0XcXcomment_rater_160Xcomment_loader_160" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX160X4X0XcXcomment_rater_160Xcomment_loader_160" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX160X3X0XcXcomment_rater_160Xcomment_loader_160" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX160X2X0XcXcomment_rater_160Xcomment_loader_160" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX160X1X0XcXcomment_rater_160Xcomment_loader_160" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_160" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c160" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Alberto Pérez</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-152</link>
		<dc:creator>Alberto Pérez</dc:creator>
		<pubDate>Wed, 23 Jun 2010 10:02:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-152</guid>
		<description>Hola Gustavo.
Yo sigo intendando firmar pdf&#039;s ;)
De los problemas planteados creo que he solucionado alguno...pongo la solución por si ha alguien le pasa lo mismo.

Con el código de iTextsharp
1-. “Un valor de tipo “System.Collection.Hastable” no se puede convertir en “System.Collections.Generic.Dictionary(Of iTextSharp.text.pdf.PdfName,Integer)”
Donde ponía:
Dim exc As New Hashtable()
Lo he sustituido por:
Dim exc As New Dictionary(Of PdfName, Integer)()

2-. “No se ha declarado el nombre InlineAssignHelper”
Lo he suprimido y dejado así:
While s.Read(buff, 0, 8192) &gt; 0
sha.TransformBlock(buff, 0, read, buff, 0)
End While

En local me firma el pdf, aunque me deja la alerta de que la firma no es valida porque se ha modificado el documento.
Y en el servidor me da el error de:
(si leo el certificado con iis):
&quot;La clave no existe&quot;
o (si leo el certificado con la funcion de itextsharp) 
&quot;The current session is not interactive&quot;

Si teneis alguna idea, os lo agradecería.</description>
		<content:encoded><![CDATA[<p>Hola Gustavo.<br />
Yo sigo intendando firmar pdf&#8217;s <img src='http://www.programandoamedianoche.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
De los problemas planteados creo que he solucionado alguno&#8230;pongo la solución por si ha alguien le pasa lo mismo.</p>
<p>Con el código de iTextsharp<br />
1-. “Un valor de tipo “System.Collection.Hastable” no se puede convertir en “System.Collections.Generic.Dictionary(Of iTextSharp.text.pdf.PdfName,Integer)”<br />
Donde ponía:<br />
Dim exc As New Hashtable()<br />
Lo he sustituido por:<br />
Dim exc As New Dictionary(Of PdfName, Integer)()</p>
<p>2-. “No se ha declarado el nombre InlineAssignHelper”<br />
Lo he suprimido y dejado así:<br />
While s.Read(buff, 0, 8192) &gt; 0<br />
sha.TransformBlock(buff, 0, read, buff, 0)<br />
End While</p>
<p>En local me firma el pdf, aunque me deja la alerta de que la firma no es valida porque se ha modificado el documento.<br />
Y en el servidor me da el error de:<br />
(si leo el certificado con iis):<br />
&#8220;La clave no existe&#8221;<br />
o (si leo el certificado con la funcion de itextsharp)<br />
&#8220;The current session is not interactive&#8221;</p>
<p>Si teneis alguna idea, os lo agradecería.
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_152" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c152" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c152" class="gdsr_rating_as"><a id="gdsrX152X5X0XcXcomment_rater_152Xcomment_loader_152" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX152X4X0XcXcomment_rater_152Xcomment_loader_152" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX152X3X0XcXcomment_rater_152Xcomment_loader_152" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX152X2X0XcXcomment_rater_152Xcomment_loader_152" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX152X1X0XcXcomment_rater_152Xcomment_loader_152" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_152" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c152" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Alberto Pérez</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-145</link>
		<dc:creator>Alberto Pérez</dc:creator>
		<pubDate>Mon, 21 Jun 2010 09:17:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-145</guid>
		<description>Hola Gustavo, que tal?
De nuevo gracias por el aporte.
He estado trabajando el código de tus ejemplos y pese a que voy avanzando, me he quedado estancado en estos dos:

Validar certificados (me devuelve):
RevocationStatusUnknown - La función de revocación no puede comprobar la revocación para el certificado. 
Firma documento (me devuelve):
La clave no existe.

En cuanto a lo de iTextSharp
Mi intención es leer el certificado de cliente y firmar un pdf, así que supongo que el que me interesa es el último punto:
&quot;How to sign with a smartcard using an external signature dictionary with iTextSharp and .NET 2.0&quot;

Lo estoy intentando traducir de CSharp a VB con la ayuda de (http://www.developerfusion.com/tools/convert/csharp-to-vb/). 
Pero el código me marca 2 errores, uno en:
sap.PreClose(exc);
- Me dice que exc &quot;Un valor de tipo &quot;System.Collection.Hastable&quot; no se puede convertir en &quot;System.Collections.Generic.Dictionary(Of iTextSharp.text.pdf.PdfName,Integer)&quot;

y otro en:
While (InlineAssignHelper(read, s.Read(buff, 0, 8192))) &gt; 0
sha.TransformBlock(buff, 0, read, buff, 0)
End While
- Me marca como error: &quot;No se ha declarado el nombre InlineAssignHelper&quot;

Si me pudieses orientar te lo agradecería.
Una vez tengo el código, lo puedo dejar en el foro para aquellos que usen VB y lo necesiten.
Saludos.</description>
		<content:encoded><![CDATA[<p>Hola Gustavo, que tal?<br />
De nuevo gracias por el aporte.<br />
He estado trabajando el código de tus ejemplos y pese a que voy avanzando, me he quedado estancado en estos dos:</p>
<p>Validar certificados (me devuelve):<br />
RevocationStatusUnknown &#8211; La función de revocación no puede comprobar la revocación para el certificado.<br />
Firma documento (me devuelve):<br />
La clave no existe.</p>
<p>En cuanto a lo de iTextSharp<br />
Mi intención es leer el certificado de cliente y firmar un pdf, así que supongo que el que me interesa es el último punto:<br />
&#8220;How to sign with a smartcard using an external signature dictionary with iTextSharp and .NET 2.0&#8243;</p>
<p>Lo estoy intentando traducir de CSharp a VB con la ayuda de (<a href="http://www.developerfusion.com/tools/convert/csharp-to-vb/" rel="nofollow">http://www.developerfusion.com/tools/convert/csharp-to-vb/</a>).<br />
Pero el código me marca 2 errores, uno en:<br />
sap.PreClose(exc);<br />
- Me dice que exc &#8220;Un valor de tipo &#8220;System.Collection.Hastable&#8221; no se puede convertir en &#8220;System.Collections.Generic.Dictionary(Of iTextSharp.text.pdf.PdfName,Integer)&#8221;</p>
<p>y otro en:<br />
While (InlineAssignHelper(read, s.Read(buff, 0, 8192))) &gt; 0<br />
sha.TransformBlock(buff, 0, read, buff, 0)<br />
End While<br />
- Me marca como error: &#8220;No se ha declarado el nombre InlineAssignHelper&#8221;</p>
<p>Si me pudieses orientar te lo agradecería.<br />
Una vez tengo el código, lo puedo dejar en el foro para aquellos que usen VB y lo necesiten.<br />
Saludos.
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_145" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c145" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c145" class="gdsr_rating_as"><a id="gdsrX145X5X0XcXcomment_rater_145Xcomment_loader_145" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX145X4X0XcXcomment_rater_145Xcomment_loader_145" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX145X3X0XcXcomment_rater_145Xcomment_loader_145" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX145X2X0XcXcomment_rater_145Xcomment_loader_145" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX145X1X0XcXcomment_rater_145Xcomment_loader_145" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_145" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c145" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gustavo Cantero (The Wolf)</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-141</link>
		<dc:creator>Gustavo Cantero (The Wolf)</dc:creator>
		<pubDate>Fri, 18 Jun 2010 12:24:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-141</guid>
		<description>Alberto, para firmar un PDF te recomiendo que lo hagas utilizando la librería iTextSharp, en este artículo se explica cómo hacerlo: &lt;a href=&quot;http://itextpdf.sourceforge.net/howtosign.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://itextpdf.sourceforge.net/howtosign.html&lt;/a&gt;.
Suerte!</description>
		<content:encoded><![CDATA[<p>Alberto, para firmar un PDF te recomiendo que lo hagas utilizando la librería iTextSharp, en este artículo se explica cómo hacerlo: <a href="http://itextpdf.sourceforge.net/howtosign.html" target="_blank" rel="nofollow">http://itextpdf.sourceforge.net/howtosign.html</a>.<br />
Suerte!
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_141" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c141" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c141" class="gdsr_rating_as"><a id="gdsrX141X5X0XcXcomment_rater_141Xcomment_loader_141" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX141X4X0XcXcomment_rater_141Xcomment_loader_141" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX141X3X0XcXcomment_rater_141Xcomment_loader_141" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX141X2X0XcXcomment_rater_141Xcomment_loader_141" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX141X1X0XcXcomment_rater_141Xcomment_loader_141" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_141" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c141" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Alberto Pérez</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-140</link>
		<dc:creator>Alberto Pérez</dc:creator>
		<pubDate>Fri, 18 Jun 2010 11:37:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-140</guid>
		<description>Otra vez. MUCHAS GRACIAS y felicidades por el artículo es muy bueno y me está ayudando muchisimo.
Efectivamente era la´referencia (se ve que por defecto no debía venir, pero la agregue y parece que empieza a funcionar).
Hasta ahora ya leo el certificado del usuario, repositorio servidor, y extensiones&amp;info.
La idea es que pueda firmar un pdf alojado en el servidor....continuo en ello a ver si lo consigo...</description>
		<content:encoded><![CDATA[<p>Otra vez. MUCHAS GRACIAS y felicidades por el artículo es muy bueno y me está ayudando muchisimo.<br />
Efectivamente era la´referencia (se ve que por defecto no debía venir, pero la agregue y parece que empieza a funcionar).<br />
Hasta ahora ya leo el certificado del usuario, repositorio servidor, y extensiones&amp;info.<br />
La idea es que pueda firmar un pdf alojado en el servidor&#8230;.continuo en ello a ver si lo consigo&#8230;
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_140" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c140" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c140" class="gdsr_rating_as"><a id="gdsrX140X5X0XcXcomment_rater_140Xcomment_loader_140" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX140X4X0XcXcomment_rater_140Xcomment_loader_140" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX140X3X0XcXcomment_rater_140Xcomment_loader_140" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX140X2X0XcXcomment_rater_140Xcomment_loader_140" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX140X1X0XcXcomment_rater_140Xcomment_loader_140" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_140" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c140" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gustavo Cantero (The Wolf)</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-139</link>
		<dc:creator>Gustavo Cantero (The Wolf)</dc:creator>
		<pubDate>Wed, 16 Jun 2010 14:06:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-139</guid>
		<description>Muchas gracias por las felicitaciones.
Sobre tu error: puede ser que tu proyecto no tenga la referencia a System.Security.dll?
Suerte!</description>
		<content:encoded><![CDATA[<p>Muchas gracias por las felicitaciones.<br />
Sobre tu error: puede ser que tu proyecto no tenga la referencia a System.Security.dll?<br />
Suerte!
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_139" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c139" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c139" class="gdsr_rating_as"><a id="gdsrX139X5X0XcXcomment_rater_139Xcomment_loader_139" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX139X4X0XcXcomment_rater_139Xcomment_loader_139" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX139X3X0XcXcomment_rater_139Xcomment_loader_139" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX139X2X0XcXcomment_rater_139Xcomment_loader_139" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX139X1X0XcXcomment_rater_139Xcomment_loader_139" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_139" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c139" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Alberto Pérez</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-138</link>
		<dc:creator>Alberto Pérez</dc:creator>
		<pubDate>Wed, 16 Jun 2010 08:35:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-138</guid>
		<description>Hola Gustavo.
Lo primero es felicitarte por el artículo sobre certificados digitales.
Pese a que no me acaba de salir del todo (por mi falta de nociones), sé que el artículo es bueno y me está ayudando mucho.
Tengo unas cuantas dudas, pero para no cansar de momento solo haré una pregunta.
Trabajo con VS2008 en vb y a la hora de importar el espacio de nombres System.Scurity.Cryptography.Pkcs no me aparece, a que puede ser debido? (lo más parecido es System.Security.Cryptography.PKCS1MaskGenerationMethod), pero entonces el código me marca error. Alguna idea?</description>
		<content:encoded><![CDATA[<p>Hola Gustavo.<br />
Lo primero es felicitarte por el artículo sobre certificados digitales.<br />
Pese a que no me acaba de salir del todo (por mi falta de nociones), sé que el artículo es bueno y me está ayudando mucho.<br />
Tengo unas cuantas dudas, pero para no cansar de momento solo haré una pregunta.<br />
Trabajo con VS2008 en vb y a la hora de importar el espacio de nombres System.Scurity.Cryptography.Pkcs no me aparece, a que puede ser debido? (lo más parecido es System.Security.Cryptography.PKCS1MaskGenerationMethod), pero entonces el código me marca error. Alguna idea?
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_138" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c138" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c138" class="gdsr_rating_as"><a id="gdsrX138X5X0XcXcomment_rater_138Xcomment_loader_138" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX138X4X0XcXcomment_rater_138Xcomment_loader_138" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX138X3X0XcXcomment_rater_138Xcomment_loader_138" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX138X2X0XcXcomment_rater_138Xcomment_loader_138" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX138X1X0XcXcomment_rater_138Xcomment_loader_138" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_138" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c138" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gustavo Cantero (The Wolf)</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-133</link>
		<dc:creator>Gustavo Cantero (The Wolf)</dc:creator>
		<pubDate>Mon, 07 Jun 2010 22:51:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-133</guid>
		<description>No conozco los archivos .key, con qué aplicación los crean?
Saludos.</description>
		<content:encoded><![CDATA[<p>No conozco los archivos .key, con qué aplicación los crean?<br />
Saludos.
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_133" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c133" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c133" class="gdsr_rating_as"><a id="gdsrX133X5X0XcXcomment_rater_133Xcomment_loader_133" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX133X4X0XcXcomment_rater_133Xcomment_loader_133" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX133X3X0XcXcomment_rater_133Xcomment_loader_133" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX133X2X0XcXcomment_rater_133Xcomment_loader_133" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX133X1X0XcXcomment_rater_133Xcomment_loader_133" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_133" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c133" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Antonio Manrique</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-132</link>
		<dc:creator>Antonio Manrique</dc:creator>
		<pubDate>Fri, 04 Jun 2010 16:03:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-132</guid>
		<description>Hola Gustavo,
Tus articulos son de mucha utilidad.
estoy realizando una aplicacioon con vb net
y la duda que tengo es que me dan una llave privada .key( que correspon de al emisor ) y un certificado .cer
la duda como encriptar la salida del mD5 que ya la tengo  usando la llave privada,
en tu articulo encriptas y desecriptas pero no observo donde se utiliza la llave privada , en mi caso seria .key

saludos.</description>
		<content:encoded><![CDATA[<p>Hola Gustavo,<br />
Tus articulos son de mucha utilidad.<br />
estoy realizando una aplicacioon con vb net<br />
y la duda que tengo es que me dan una llave privada .key( que correspon de al emisor ) y un certificado .cer<br />
la duda como encriptar la salida del mD5 que ya la tengo  usando la llave privada,<br />
en tu articulo encriptas y desecriptas pero no observo donde se utiliza la llave privada , en mi caso seria .key</p>
<p>saludos.
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_132" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c132" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c132" class="gdsr_rating_as"><a id="gdsrX132X5X0XcXcomment_rater_132Xcomment_loader_132" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX132X4X0XcXcomment_rater_132Xcomment_loader_132" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX132X3X0XcXcomment_rater_132Xcomment_loader_132" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX132X2X0XcXcomment_rater_132Xcomment_loader_132" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX132X1X0XcXcomment_rater_132Xcomment_loader_132" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_132" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c132" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gustavo Cantero (The Wolf)</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-128</link>
		<dc:creator>Gustavo Cantero (The Wolf)</dc:creator>
		<pubDate>Wed, 19 May 2010 16:55:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-128</guid>
		<description>Luis: la verdad es que no sé si se puede encriptar un PDF utilizando un certificado digital, pero por si te interesa acá te dejo un enlace a un proyecto donde se encripta el PDF con una contraseña utilizando &lt;a href=&quot;http://sourceforge.net/projects/itextsharp/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;iTextSharp&lt;/a&gt;: &lt;a href=&quot;http://www.codeproject.com/KB/cs/iTextSharpPdfTables.aspx&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.codeproject.com/KB/cs/iTextSharpPdfTables.aspx&lt;/a&gt;.
Suerte!</description>
		<content:encoded><![CDATA[<p>Luis: la verdad es que no sé si se puede encriptar un PDF utilizando un certificado digital, pero por si te interesa acá te dejo un enlace a un proyecto donde se encripta el PDF con una contraseña utilizando <a href="http://sourceforge.net/projects/itextsharp/" target="_blank" rel="nofollow">iTextSharp</a>: <a href="http://www.codeproject.com/KB/cs/iTextSharpPdfTables.aspx" target="_blank" rel="nofollow">http://www.codeproject.com/KB/cs/iTextSharpPdfTables.aspx</a>.<br />
Suerte!
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_128" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c128" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c128" class="gdsr_rating_as"><a id="gdsrX128X5X0XcXcomment_rater_128Xcomment_loader_128" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX128X4X0XcXcomment_rater_128Xcomment_loader_128" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX128X3X0XcXcomment_rater_128Xcomment_loader_128" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX128X2X0XcXcomment_rater_128Xcomment_loader_128" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX128X1X0XcXcomment_rater_128Xcomment_loader_128" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_128" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c128" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Luis</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-127</link>
		<dc:creator>Luis</dc:creator>
		<pubDate>Wed, 19 May 2010 16:29:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-127</guid>
		<description>Hola, muy interesante tu publicación, me gustaría saber como puedo encriptar documentos en pdf con un certificado digital, muchas gracias.</description>
		<content:encoded><![CDATA[<p>Hola, muy interesante tu publicación, me gustaría saber como puedo encriptar documentos en pdf con un certificado digital, muchas gracias.
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_127" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c127" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c127" class="gdsr_rating_as"><a id="gdsrX127X5X0XcXcomment_rater_127Xcomment_loader_127" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX127X4X0XcXcomment_rater_127Xcomment_loader_127" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX127X3X0XcXcomment_rater_127Xcomment_loader_127" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX127X2X0XcXcomment_rater_127Xcomment_loader_127" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX127X1X0XcXcomment_rater_127Xcomment_loader_127" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_127" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c127" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gustavo Cantero (The Wolf)</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-126</link>
		<dc:creator>Gustavo Cantero (The Wolf)</dc:creator>
		<pubDate>Tue, 18 May 2010 10:45:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-126</guid>
		<description>Hola Fredys!  Necesitaría consultarte dos cosas para poder ayudarte: la primera es la longitud de lo que quieres encriptar, y la segunda es el mensaje exacto del error.
Saludos.</description>
		<content:encoded><![CDATA[<p>Hola Fredys!  Necesitaría consultarte dos cosas para poder ayudarte: la primera es la longitud de lo que quieres encriptar, y la segunda es el mensaje exacto del error.<br />
Saludos.
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_126" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c126" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c126" class="gdsr_rating_as"><a id="gdsrX126X5X0XcXcomment_rater_126Xcomment_loader_126" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX126X4X0XcXcomment_rater_126Xcomment_loader_126" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX126X3X0XcXcomment_rater_126Xcomment_loader_126" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX126X2X0XcXcomment_rater_126Xcomment_loader_126" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX126X1X0XcXcomment_rater_126Xcomment_loader_126" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_126" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c126" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Fredys Simanca</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-125</link>
		<dc:creator>Fredys Simanca</dc:creator>
		<pubDate>Mon, 17 May 2010 23:52:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-125</guid>
		<description>Gracias Gustavo por su ayuda y colaboración para quienes se la solicitamos, me ha funcionado perfectamente el asunto, mi objetivo era encriptar una cadena de texto para realizar una validación ante un servicio web, y bien excelente, simplemente que al momento de descencriptar la cadena me arroja error en la linea:  objEncryptedDataD.Decrypt(); en la parte de arriba leía que posiblemente era por el tamaño de la cadena, no es mi caso ya que es corta. Dice que no puede encontrar el objeto o la propiedad.

Muchas gracias por su ayuda,</description>
		<content:encoded><![CDATA[<p>Gracias Gustavo por su ayuda y colaboración para quienes se la solicitamos, me ha funcionado perfectamente el asunto, mi objetivo era encriptar una cadena de texto para realizar una validación ante un servicio web, y bien excelente, simplemente que al momento de descencriptar la cadena me arroja error en la linea:  objEncryptedDataD.Decrypt(); en la parte de arriba leía que posiblemente era por el tamaño de la cadena, no es mi caso ya que es corta. Dice que no puede encontrar el objeto o la propiedad.</p>
<p>Muchas gracias por su ayuda,
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_125" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c125" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c125" class="gdsr_rating_as"><a id="gdsrX125X5X0XcXcomment_rater_125Xcomment_loader_125" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX125X4X0XcXcomment_rater_125Xcomment_loader_125" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX125X3X0XcXcomment_rater_125Xcomment_loader_125" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX125X2X0XcXcomment_rater_125Xcomment_loader_125" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX125X1X0XcXcomment_rater_125Xcomment_loader_125" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_125" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c125" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gustavo Cantero (The Wolf)</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-123</link>
		<dc:creator>Gustavo Cantero (The Wolf)</dc:creator>
		<pubDate>Wed, 12 May 2010 13:51:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-123</guid>
		<description>Hola Fredys, acá respondo la pregunta que hiciste en mi página: para obtener un certificado tienes varias formas, la más común es abrir un repositorio, por ejemplo el del usuario, y buscar por el nombre u otra información.  Un ejemplo de lo mencionado es el siguiente:

&lt;code&gt;X509Certificate2 objCert;
X509Store objStore = new X509Store(StoreLocation.CurrentUser);
X509Certificate2Collection objCol = objStore.Certificates.Find(X509FindType.FindByIssuerName, &quot;Gustavo&quot;, true);
if (objCol.Count &gt; 0)
{
    objCert = objCol[0];
    //Sigo usando el certificado
}&lt;/code&gt;

Otra posibilidad sería abrir el certificado desde un archivo:

&lt;code&gt;X509Certificate2 objCert = new X509Certificate2(&quot;Archivo.pfx&quot;);&lt;/code&gt;

o también podrias leer el certificado desde la base de datos u otro lado:

&lt;code&gt;byte[] bytCert = //Obtengo el certificado de algún lado, como la base de datos
X509Certificate2 objCert = new X509Certificate2(bytCert);&lt;/code&gt;

Espero que esta información te sea de utilidad, cualquier otra cosa no dudes en escribir.
Suerte!</description>
		<content:encoded><![CDATA[<p>Hola Fredys, acá respondo la pregunta que hiciste en mi página: para obtener un certificado tienes varias formas, la más común es abrir un repositorio, por ejemplo el del usuario, y buscar por el nombre u otra información.  Un ejemplo de lo mencionado es el siguiente:</p>
<p><code>X509Certificate2 objCert;<br />
X509Store objStore = new X509Store(StoreLocation.CurrentUser);<br />
X509Certificate2Collection objCol = objStore.Certificates.Find(X509FindType.FindByIssuerName, "Gustavo", true);<br />
if (objCol.Count > 0)<br />
{<br />
    objCert = objCol[0];<br />
    //Sigo usando el certificado<br />
}</code></p>
<p>Otra posibilidad sería abrir el certificado desde un archivo:</p>
<p><code>X509Certificate2 objCert = new X509Certificate2("Archivo.pfx");</code></p>
<p>o también podrias leer el certificado desde la base de datos u otro lado:</p>
<p><code>byte[] bytCert = //Obtengo el certificado de algún lado, como la base de datos<br />
X509Certificate2 objCert = new X509Certificate2(bytCert);</code></p>
<p>Espero que esta información te sea de utilidad, cualquier otra cosa no dudes en escribir.<br />
Suerte!
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_123" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c123" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c123" class="gdsr_rating_as"><a id="gdsrX123X5X0XcXcomment_rater_123Xcomment_loader_123" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX123X4X0XcXcomment_rater_123Xcomment_loader_123" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX123X3X0XcXcomment_rater_123Xcomment_loader_123" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX123X2X0XcXcomment_rater_123Xcomment_loader_123" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX123X1X0XcXcomment_rater_123Xcomment_loader_123" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_123" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c123" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gustavo Cantero (The Wolf)</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-107</link>
		<dc:creator>Gustavo Cantero (The Wolf)</dc:creator>
		<pubDate>Tue, 22 Dec 2009 16:30:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-107</guid>
		<description>Hola, Juan!  Te pido disculpas por la tardanza, pero estuvimos muy ocupados las últimas semanas.
Sobre el tema del archivo .p12, en este artículo del MSDN &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms867088.aspx&quot; rel=&quot;nofollow&quot;&gt;http://msdn.microsoft.com/en-us/library/ms867088.aspx&lt;/a&gt; habla sobre cómo utilizar los archivos pfx/p12 desde .NET.
Espero que te sea de utilidad.
Saludos.</description>
		<content:encoded><![CDATA[<p>Hola, Juan!  Te pido disculpas por la tardanza, pero estuvimos muy ocupados las últimas semanas.<br />
Sobre el tema del archivo .p12, en este artículo del MSDN <a href="http://msdn.microsoft.com/en-us/library/ms867088.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ms867088.aspx</a> habla sobre cómo utilizar los archivos pfx/p12 desde .NET.<br />
Espero que te sea de utilidad.<br />
Saludos.
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_107" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c107" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c107" class="gdsr_rating_as"><a id="gdsrX107X5X0XcXcomment_rater_107Xcomment_loader_107" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX107X4X0XcXcomment_rater_107Xcomment_loader_107" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX107X3X0XcXcomment_rater_107Xcomment_loader_107" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX107X2X0XcXcomment_rater_107Xcomment_loader_107" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX107X1X0XcXcomment_rater_107Xcomment_loader_107" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_107" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c107" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: juan</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-99</link>
		<dc:creator>juan</dc:creator>
		<pubDate>Mon, 30 Nov 2009 14:11:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-99</guid>
		<description>Hola, queria saber como levantar una clave privada que se encuentra en un archivo.p12 desde .net? desde ya muchas gracias</description>
		<content:encoded><![CDATA[<p>Hola, queria saber como levantar una clave privada que se encuentra en un archivo.p12 desde .net? desde ya muchas gracias
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_99" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c99" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c99" class="gdsr_rating_as"><a id="gdsrX99X5X0XcXcomment_rater_99Xcomment_loader_99" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX99X4X0XcXcomment_rater_99Xcomment_loader_99" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX99X3X0XcXcomment_rater_99Xcomment_loader_99" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX99X2X0XcXcomment_rater_99Xcomment_loader_99" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX99X1X0XcXcomment_rater_99Xcomment_loader_99" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_99" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c99" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Leonardo Quintana</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-98</link>
		<dc:creator>Leonardo Quintana</dc:creator>
		<pubDate>Fri, 27 Nov 2009 22:55:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-98</guid>
		<description>Buenas Tardes

Bueno la solución para que el código pida la clave del certificado digital almacenado en el store es simplemente colocar un false

signedCms.ComputeSignature(cmsSigner, false);

pero ahora tengo otro problema, necesito firmar un archivo extremadamente grande y el código que tenemos hasta el momento solo firma hasta 80 MB con archivos por ejemplo de un archivo de 1 GB no lo puede firmar dado que saca un error de memoria.

si alguien sabe de esto por favor les agradeceria me dieran la solución

cuando tenga el código completo lo pìenso subir... por ahora mi correo es jlqr@hotmail.com por si necesitan algo.. no se mucho pero igual ya tengo funcionando un pedazo de código.. y todo gracias a lo que he visto en esta página y en algunas otras...</description>
		<content:encoded><![CDATA[<p>Buenas Tardes</p>
<p>Bueno la solución para que el código pida la clave del certificado digital almacenado en el store es simplemente colocar un false</p>
<p>signedCms.ComputeSignature(cmsSigner, false);</p>
<p>pero ahora tengo otro problema, necesito firmar un archivo extremadamente grande y el código que tenemos hasta el momento solo firma hasta 80 MB con archivos por ejemplo de un archivo de 1 GB no lo puede firmar dado que saca un error de memoria.</p>
<p>si alguien sabe de esto por favor les agradeceria me dieran la solución</p>
<p>cuando tenga el código completo lo pìenso subir&#8230; por ahora mi correo es <a href="mailto:jlqr@hotmail.com">jlqr@hotmail.com</a> por si necesitan algo.. no se mucho pero igual ya tengo funcionando un pedazo de código.. y todo gracias a lo que he visto en esta página y en algunas otras&#8230;
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_98" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c98" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c98" class="gdsr_rating_as"><a id="gdsrX98X5X0XcXcomment_rater_98Xcomment_loader_98" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX98X4X0XcXcomment_rater_98Xcomment_loader_98" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX98X3X0XcXcomment_rater_98Xcomment_loader_98" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX98X2X0XcXcomment_rater_98Xcomment_loader_98" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX98X1X0XcXcomment_rater_98Xcomment_loader_98" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_98" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c98" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gustavo Cantero (The Wolf)</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-83</link>
		<dc:creator>Gustavo Cantero (The Wolf)</dc:creator>
		<pubDate>Mon, 16 Nov 2009 19:13:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-83</guid>
		<description>Leonardo, te pido mil disculpas por la demora en la respuesta.
Sobre tu problema, imagino que el problema no está en el certificado que necesitas validar sino en alguno de la cadena de certificación, por ejemplo, el que se utiliza como entidad certificadora de éste.
Espero que puedas resolver el inconveniente, sino te invito a nuestro foro http://foro.scientia.com.ar donde intentaremos ayudarte lo más rápido posible.
Saludos y suerte.</description>
		<content:encoded><![CDATA[<p>Leonardo, te pido mil disculpas por la demora en la respuesta.<br />
Sobre tu problema, imagino que el problema no está en el certificado que necesitas validar sino en alguno de la cadena de certificación, por ejemplo, el que se utiliza como entidad certificadora de éste.<br />
Espero que puedas resolver el inconveniente, sino te invito a nuestro foro <a href="http://foro.scientia.com.ar" rel="nofollow">http://foro.scientia.com.ar</a> donde intentaremos ayudarte lo más rápido posible.<br />
Saludos y suerte.
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_83" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c83" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c83" class="gdsr_rating_as"><a id="gdsrX83X5X0XcXcomment_rater_83Xcomment_loader_83" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX83X4X0XcXcomment_rater_83Xcomment_loader_83" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX83X3X0XcXcomment_rater_83Xcomment_loader_83" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX83X2X0XcXcomment_rater_83Xcomment_loader_83" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX83X1X0XcXcomment_rater_83Xcomment_loader_83" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_83" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c83" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Dario Krapp</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-79</link>
		<dc:creator>Dario Krapp</dc:creator>
		<pubDate>Fri, 06 Nov 2009 21:59:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-79</guid>
		<description>Hola Jonathan, 
Alguna vez nos pasó algo similar y el problema estaba relacionado con la longitud de los datos que estabamos intentando encriptar, ahora no recuerdo los límites (creo que eran 117 bytes) pero cuando probamos con datos más cortos el problema se resolvió, claro que no es la idea acortar los datos por que esa opción no es posible en casi ninguna ocasión. 
Quizás una posible solución (al menos a nosotros nos sirvió) sea utilizar algorítmos asimétricos para encriptar las claves y algorítmos simétricos para encriptar la información, ya que estos no poseen esta restricción.  
Espero que esta respuesta te sirva.</description>
		<content:encoded><![CDATA[<p>Hola Jonathan,<br />
Alguna vez nos pasó algo similar y el problema estaba relacionado con la longitud de los datos que estabamos intentando encriptar, ahora no recuerdo los límites (creo que eran 117 bytes) pero cuando probamos con datos más cortos el problema se resolvió, claro que no es la idea acortar los datos por que esa opción no es posible en casi ninguna ocasión.<br />
Quizás una posible solución (al menos a nosotros nos sirvió) sea utilizar algorítmos asimétricos para encriptar las claves y algorítmos simétricos para encriptar la información, ya que estos no poseen esta restricción.<br />
Espero que esta respuesta te sirva.
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_79" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c79" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c79" class="gdsr_rating_as"><a id="gdsrX79X5X0XcXcomment_rater_79Xcomment_loader_79" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX79X4X0XcXcomment_rater_79Xcomment_loader_79" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX79X3X0XcXcomment_rater_79Xcomment_loader_79" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX79X2X0XcXcomment_rater_79Xcomment_loader_79" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX79X1X0XcXcomment_rater_79Xcomment_loader_79" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_79" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c79" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Jonathan</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-74</link>
		<dc:creator>Jonathan</dc:creator>
		<pubDate>Wed, 28 Oct 2009 17:50:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-74</guid>
		<description>Al tratar de desencriptar los datos, nos un error de &quot;Clave Inválida&quot;. el error da en la siguiente linea de código:

objEncryptedData.Decrypt();

Puedo leer certificados, encriptar documentos sin ningun problema.

Por favor si me pueden ayudar,
Saludos,
Jonathan.</description>
		<content:encoded><![CDATA[<p>Al tratar de desencriptar los datos, nos un error de &#8220;Clave Inválida&#8221;. el error da en la siguiente linea de código:</p>
<p>objEncryptedData.Decrypt();</p>
<p>Puedo leer certificados, encriptar documentos sin ningun problema.</p>
<p>Por favor si me pueden ayudar,<br />
Saludos,<br />
Jonathan.
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_74" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c74" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c74" class="gdsr_rating_as"><a id="gdsrX74X5X0XcXcomment_rater_74Xcomment_loader_74" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX74X4X0XcXcomment_rater_74Xcomment_loader_74" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX74X3X0XcXcomment_rater_74Xcomment_loader_74" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX74X2X0XcXcomment_rater_74Xcomment_loader_74" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX74X1X0XcXcomment_rater_74Xcomment_loader_74" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_74" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c74" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Leonardo Quintana</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-70</link>
		<dc:creator>Leonardo Quintana</dc:creator>
		<pubDate>Tue, 20 Oct 2009 20:23:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-70</guid>
		<description>Hola Gustavo

he verificado los puntos 1 y 2 accediendo directamente a la URL de la CRL que trae el certificado el cual descarga un archivo .crl, y le modifiqué el tiempo de espera, pero aun asi me sigue presentando el mismo mensaje &quot;RevocationStatusUnknown - La función de revocación no puede comprobar la revocación para el certificado.&quot;

Por otro lado tambien estoy intentando firmar con el ejemplo tuyo, pero todos los certificados que posee mi maquina requieren password, no encontre en el ejemplo como le paso el password, le agradezco si me puede por favor indicar como hacerlo.

saludos</description>
		<content:encoded><![CDATA[<p>Hola Gustavo</p>
<p>he verificado los puntos 1 y 2 accediendo directamente a la URL de la CRL que trae el certificado el cual descarga un archivo .crl, y le modifiqué el tiempo de espera, pero aun asi me sigue presentando el mismo mensaje &#8220;RevocationStatusUnknown &#8211; La función de revocación no puede comprobar la revocación para el certificado.&#8221;</p>
<p>Por otro lado tambien estoy intentando firmar con el ejemplo tuyo, pero todos los certificados que posee mi maquina requieren password, no encontre en el ejemplo como le paso el password, le agradezco si me puede por favor indicar como hacerlo.</p>
<p>saludos
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_70" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c70" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c70" class="gdsr_rating_as"><a id="gdsrX70X5X0XcXcomment_rater_70Xcomment_loader_70" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX70X4X0XcXcomment_rater_70Xcomment_loader_70" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX70X3X0XcXcomment_rater_70Xcomment_loader_70" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX70X2X0XcXcomment_rater_70Xcomment_loader_70" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX70X1X0XcXcomment_rater_70Xcomment_loader_70" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_70" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c70" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gustavo Cantero (The Wolf)</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-69</link>
		<dc:creator>Gustavo Cantero (The Wolf)</dc:creator>
		<pubDate>Tue, 20 Oct 2009 02:39:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-69</guid>
		<description>Leonardo:
    Antes que nada, gracias por los elogios.
    Sobre tu consulta: la URL de la lista de revocación está dentro del certificado.  A simple vista parece ser que no puede obtener la lista, y creo que las posibles causas debe ser alguna de las siguientes:
&lt;ul&gt;
	&lt;li&gt;La PC donde está corriendo la aplicación no tiene conexión a internet&lt;/li&gt;
	&lt;li&gt;El servidor donde está la lista está caido o ya no existe&lt;/li&gt;
	&lt;li&gt;Demora mucho en obtener la lista.  Para esto puedes aumentar el tiempo modificando la propiedad UrlRetrievalTimeout asi: &lt;code&gt;objChain.ChainPolicy.UrlRetrievalTimeout = new TimeSpan(0, 3, 0);&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

    Cualquier otra consulta no dudes en escribirnos.
    Suerte!</description>
		<content:encoded><![CDATA[<p>Leonardo:<br />
    Antes que nada, gracias por los elogios.<br />
    Sobre tu consulta: la URL de la lista de revocación está dentro del certificado.  A simple vista parece ser que no puede obtener la lista, y creo que las posibles causas debe ser alguna de las siguientes:</p>
<ul>
<li>La PC donde está corriendo la aplicación no tiene conexión a internet</li>
<li>El servidor donde está la lista está caido o ya no existe</li>
<li>Demora mucho en obtener la lista.  Para esto puedes aumentar el tiempo modificando la propiedad UrlRetrievalTimeout asi: <code>objChain.ChainPolicy.UrlRetrievalTimeout = new TimeSpan(0, 3, 0);</code></li>
</ul>
<p>    Cualquier otra consulta no dudes en escribirnos.<br />
    Suerte!
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_69" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c69" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c69" class="gdsr_rating_as"><a id="gdsrX69X5X0XcXcomment_rater_69Xcomment_loader_69" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX69X4X0XcXcomment_rater_69Xcomment_loader_69" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX69X3X0XcXcomment_rater_69Xcomment_loader_69" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX69X2X0XcXcomment_rater_69Xcomment_loader_69" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX69X1X0XcXcomment_rater_69Xcomment_loader_69" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_69" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c69" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Leonardo Quintana</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-68</link>
		<dc:creator>Leonardo Quintana</dc:creator>
		<pubDate>Mon, 19 Oct 2009 23:16:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-68</guid>
		<description>hola felicitaciones por el articulo y el código son bastante token.

estoy realizando la validación del certificado, pero después de correr el codigo me muestra el siguiente mensaje:
&quot;RevocationStatusUnknown - La función de revocación no puede comprobar la revocación para el certificado&quot;

que puede estar pasando... entre los parametros se encuentra objChain.ChainPolicy.RevocationMode = X509RevocationMode.Online; que tiene que ver con la CRL pero en donde le puedo decir la URL en la cual debe buscar la CRL o como se hace esta parte.

muchas gracias de antemano.

saludos...</description>
		<content:encoded><![CDATA[<p>hola felicitaciones por el articulo y el código son bastante token.</p>
<p>estoy realizando la validación del certificado, pero después de correr el codigo me muestra el siguiente mensaje:<br />
&#8220;RevocationStatusUnknown &#8211; La función de revocación no puede comprobar la revocación para el certificado&#8221;</p>
<p>que puede estar pasando&#8230; entre los parametros se encuentra objChain.ChainPolicy.RevocationMode = X509RevocationMode.Online; que tiene que ver con la CRL pero en donde le puedo decir la URL en la cual debe buscar la CRL o como se hace esta parte.</p>
<p>muchas gracias de antemano.</p>
<p>saludos&#8230;
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_68" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c68" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c68" class="gdsr_rating_as"><a id="gdsrX68X5X0XcXcomment_rater_68Xcomment_loader_68" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX68X4X0XcXcomment_rater_68Xcomment_loader_68" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX68X3X0XcXcomment_rater_68Xcomment_loader_68" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX68X2X0XcXcomment_rater_68Xcomment_loader_68" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX68X1X0XcXcomment_rater_68Xcomment_loader_68" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_68" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c68" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: jonas13</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-60</link>
		<dc:creator>jonas13</dc:creator>
		<pubDate>Thu, 24 Sep 2009 18:05:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-60</guid>
		<description>Hola..felicitaciones me ha ayudado bastante.
Necesito ayuda, estoy haciendo una aplicacion en vb .net y necesito firma un documento xml o parte de este, para ello tengo una string con la rsa key private (ese texto que esta en base 64 entre ---begin rsa private key  y end rsa private key), mi duda es como firmo este documento teniendo esta llave privada..Un abrazo y ojala me ayudes porfa.</description>
		<content:encoded><![CDATA[<p>Hola..felicitaciones me ha ayudado bastante.<br />
Necesito ayuda, estoy haciendo una aplicacion en vb .net y necesito firma un documento xml o parte de este, para ello tengo una string con la rsa key private (ese texto que esta en base 64 entre &#8212;begin rsa private key  y end rsa private key), mi duda es como firmo este documento teniendo esta llave privada..Un abrazo y ojala me ayudes porfa.
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_60" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c60" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c60" class="gdsr_rating_as"><a id="gdsrX60X5X0XcXcomment_rater_60Xcomment_loader_60" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX60X4X0XcXcomment_rater_60Xcomment_loader_60" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX60X3X0XcXcomment_rater_60Xcomment_loader_60" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX60X2X0XcXcomment_rater_60Xcomment_loader_60" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX60X1X0XcXcomment_rater_60Xcomment_loader_60" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_60" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c60" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Jonathan</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-59</link>
		<dc:creator>Jonathan</dc:creator>
		<pubDate>Wed, 23 Sep 2009 20:41:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-59</guid>
		<description>Primera que nada felicitaciones un muy buen aporte.
Estoy haciendo una aplicacion vb net, para firmar un documento xml o parte de este, y lo unico que me entregan es un archivo en formato .PEM, y no he encontrado como hacerlo..seria una gran ayuda si me das un empujoncito.
Saludos, Jonathan</description>
		<content:encoded><![CDATA[<p>Primera que nada felicitaciones un muy buen aporte.<br />
Estoy haciendo una aplicacion vb net, para firmar un documento xml o parte de este, y lo unico que me entregan es un archivo en formato .PEM, y no he encontrado como hacerlo..seria una gran ayuda si me das un empujoncito.<br />
Saludos, Jonathan
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_59" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c59" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c59" class="gdsr_rating_as"><a id="gdsrX59X5X0XcXcomment_rater_59Xcomment_loader_59" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX59X4X0XcXcomment_rater_59Xcomment_loader_59" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX59X3X0XcXcomment_rater_59Xcomment_loader_59" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX59X2X0XcXcomment_rater_59Xcomment_loader_59" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX59X1X0XcXcomment_rater_59Xcomment_loader_59" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_59" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c59" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gustavo Cantero (The Wolf)</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-55</link>
		<dc:creator>Gustavo Cantero (The Wolf)</dc:creator>
		<pubDate>Tue, 01 Sep 2009 18:35:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-55</guid>
		<description>Me alegro.  Cualquier otra cosa no dudes en consultarnos.
Saludos.</description>
		<content:encoded><![CDATA[<p>Me alegro.  Cualquier otra cosa no dudes en consultarnos.<br />
Saludos.
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_55" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c55" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c55" class="gdsr_rating_as"><a id="gdsrX55X5X0XcXcomment_rater_55Xcomment_loader_55" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX55X4X0XcXcomment_rater_55Xcomment_loader_55" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX55X3X0XcXcomment_rater_55Xcomment_loader_55" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX55X2X0XcXcomment_rater_55Xcomment_loader_55" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX55X1X0XcXcomment_rater_55Xcomment_loader_55" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_55" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c55" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Santiago</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-54</link>
		<dc:creator>Santiago</dc:creator>
		<pubDate>Tue, 01 Sep 2009 17:50:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-54</guid>
		<description>Gracias por responder. El problema estaba en los permisos.
Saludos</description>
		<content:encoded><![CDATA[<p>Gracias por responder. El problema estaba en los permisos.<br />
Saludos
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_54" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c54" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c54" class="gdsr_rating_as"><a id="gdsrX54X5X0XcXcomment_rater_54Xcomment_loader_54" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX54X4X0XcXcomment_rater_54Xcomment_loader_54" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX54X3X0XcXcomment_rater_54Xcomment_loader_54" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX54X2X0XcXcomment_rater_54Xcomment_loader_54" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX54X1X0XcXcomment_rater_54Xcomment_loader_54" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_54" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c54" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gustavo Cantero (The Wolf)</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-53</link>
		<dc:creator>Gustavo Cantero (The Wolf)</dc:creator>
		<pubDate>Mon, 31 Aug 2009 17:36:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-53</guid>
		<description>Santiago: Muchas gracias por las felicitaciones.
Sobre el error, parecería ser porque no encuentra el certificado digital.  ¿Guardaste un certificado en la variable objCert?  De ser así: ¿El usuario tiene permisos para leer la clave privada del mismo?  Ten en cuenta que si lo estás usando desde ASP.NET, el usuario &quot;ASP.NET&quot; debe tener permisos para leer el certificado.
Si sigue fin funcionar te invito a nuestro foro en http://foro.scientia.com.ar para dejar tus consultas, las cuales trataremos de responder a la brevedad.
Espero tus comentarios.
Suerte!</description>
		<content:encoded><![CDATA[<p>Santiago: Muchas gracias por las felicitaciones.<br />
Sobre el error, parecería ser porque no encuentra el certificado digital.  ¿Guardaste un certificado en la variable objCert?  De ser así: ¿El usuario tiene permisos para leer la clave privada del mismo?  Ten en cuenta que si lo estás usando desde ASP.NET, el usuario &#8220;ASP.NET&#8221; debe tener permisos para leer el certificado.<br />
Si sigue fin funcionar te invito a nuestro foro en <a href="http://foro.scientia.com.ar" rel="nofollow">http://foro.scientia.com.ar</a> para dejar tus consultas, las cuales trataremos de responder a la brevedad.<br />
Espero tus comentarios.<br />
Suerte!
<div class="ratingblock ">
<div style="display: none">VN:F [1.7.3_972]</div>
<div id="comment_rater_53" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c53" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c53" class="gdsr_rating_as"><a id="gdsrX53X5X0XcXcomment_rater_53Xcomment_loader_53" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX53X4X0XcXcomment_rater_53Xcomment_loader_53" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX53X3X0XcXcomment_rater_53Xcomment_loader_53" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX53X2X0XcXcomment_rater_53Xcomment_loader_53" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX53X1X0XcXcomment_rater_53Xcomment_loader_53" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_53" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c53" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Santiago</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-52</link>
		<dc:creator>Santiago</dc:creator>
		<pubDate>Mon, 31 Aug 2009 16:45:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-52</guid>
		<description>Hola Gustavo:
Nuevamente felicitarte por la serie. Probando el codigo fuente en lo referente a firmar datos obtengo CryptographicException &quot;El conjunto de claves no existe&quot; cuando se invoca al metodo objSignedData.ComputeSignature(objSigner);
Estoy usando certificados de prueba tal cual lo describiste en el inicio de serie.
Puedes indicarme cual es el problema? Muchas gracias.</description>
		<content:encoded><![CDATA[<p>Hola Gustavo:<br />
Nuevamente felicitarte por la serie. Probando el codigo fuente en lo referente a firmar datos obtengo CryptographicException &#8220;El conjunto de claves no existe&#8221; cuando se invoca al metodo objSignedData.ComputeSignature(objSigner);<br />
Estoy usando certificados de prueba tal cual lo describiste en el inicio de serie.<br />
Puedes indicarme cual es el problema? Muchas gracias.
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_52" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c52" style="width: 0px;" class="gdinner"></div>
<div id="gdr_stars_c52" class="gdsr_rating_as"><a id="gdsrX52X5X0XcXcomment_rater_52Xcomment_loader_52" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX52X4X0XcXcomment_rater_52Xcomment_loader_52" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX52X3X0XcXcomment_rater_52Xcomment_loader_52" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX52X2X0XcXcomment_rater_52Xcomment_loader_52" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX52X1X0XcXcomment_rater_52Xcomment_loader_52" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_52" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c52" class=" comment">Rating: 0.0/<strong>5</strong> (0 votos cast)</div>
</div>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Santiago</title>
		<link>http://www.programandoamedianoche.com/2009/08/utilizar-certificados-digitales-desde-net/comment-page-1/#comment-51</link>
		<dc:creator>Santiago</dc:creator>
		<pubDate>Mon, 24 Aug 2009 23:08:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.programandoamedianoche.com/?p=570#comment-51</guid>
		<description>Excelente serie. De mucha utilidad</description>
		<content:encoded><![CDATA[<p>Excelente serie. De mucha utilidad
<div class="ratingblock ">
<div style="display: none">VA:F [1.7.3_972]</div>
<div id="comment_rater_51" class="ratecmm">
<div class="starsbar">
<div class="gdouter" align="left">
<div id="gdr_vote_c51" style="width: 54px;" class="gdinner"></div>
<div id="gdr_stars_c51" class="gdsr_rating_as"><a id="gdsrX51X5X0XcXcomment_rater_51Xcomment_loader_51" title="5 out of 5" class="s5" rel="nofollow"></a><a id="gdsrX51X4X0XcXcomment_rater_51Xcomment_loader_51" title="4 out of 5" class="s4" rel="nofollow"></a><a id="gdsrX51X3X0XcXcomment_rater_51Xcomment_loader_51" title="3 out of 5" class="s3" rel="nofollow"></a><a id="gdsrX51X2X0XcXcomment_rater_51Xcomment_loader_51" title="2 out of 5" class="s2" rel="nofollow"></a><a id="gdsrX51X1X0XcXcomment_rater_51Xcomment_loader_51" title="1 out of 5" class="s1" rel="nofollow"></a></div>
</div>
</div>
</div>
<div id="comment_loader_51" style="display: none; width:60px;" class="ratingloadercomment">
<div class="loader flower " style="height: 12px">
<div class="loaderinner">aguarde un momento...</div>
</div>
</div>
<div id="gdr_text_c51" class=" comment">Rating: 4.5/<strong>5</strong> (2 votos cast)</div>
</div>
]]></content:encoded>
	</item>
</channel>
</rss>

