<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Grupos P2P</title><link>http://www.gruposp2p.org/</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/GruposP2p" /><description>Energía y Red</description><language>en</language><managingEditor>noreply@blogger.com (Jose J. García)</managingEditor><lastBuildDate>Wed, 15 Feb 2012 23:57:48 PST</lastBuildDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">36</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">25</openSearch:itemsPerPage><feedburner:info uri="gruposp2p" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><itunes:owner><itunes:email>noreply@blogger.com</itunes:email></itunes:owner><itunes:explicit>no</itunes:explicit><itunes:subtitle>Energía y Red</itunes:subtitle><item><title>Gobiernos de tecnócratas</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/OU-rYLuQejQ/gobiernos-de-tecnocratas.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Tue, 15 Nov 2011 03:33:46 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-5487084163357578070</guid><description>Si un día se cayesen todos los edificios del planeta todo el mundo pondría en tela de juicio el conocimiento de los arquitectos, y con razón. Pues bien, eso ha pasado con la economía, se ha caido, por eso es lógico poner en tela de juicio el conocimiento de los economistas, no han sabido crear los mecanismos ni las alarmas capaces de evitar lo que está pasando.&lt;br /&gt;&lt;br /&gt;Lo malo de la política es que parece haberse olvidado de que la aproximación a un problema admite varios niveles de profundidad, no es malo intentar hacer un discurso que llegue a todo el mundo, lo que es malo es que con la excusa de intentar llegar a todo el mundo se olviden otros niveles de profundidad porque 'la mayoría de la gente no los entiende'. Debería darse por sentado que un problema admite aproximaciones:&lt;br /&gt;- Técnica&lt;br /&gt;- Pseudotécnica&lt;br /&gt;- Coloquial&lt;br /&gt;&lt;br /&gt;Con un discurso 'coloquial' jamás se habría avanzado en remedios contra el cáncer. Da tranquilidad pensar que aunque la mayoría no es capaz de manejarse en esas profundidades si que hay gente capaz y que esta trabajando en ello recibiendo todo el apoyo necesario, o al menos debería ser así.&lt;br /&gt;&lt;br /&gt;La gente debe exigir que a nivel político haya de forma continua y en todos los frentes, gente trabajando y publicando en los tres niveles sin las limitaciones del minuto de la televisión o los 140 caracteres de Twitter. Para eso están los Wikis y los portales.&lt;br /&gt; &lt;br /&gt;Para considerar que se está de verdad ante un grupo de tecnócratas se debe dar por sentado que se está ante personas conocedoras, expertas, entre otras cosas del potencial de las redes para difundir, de forma efectiva, información satisfaciendo los tres niveles de profundidad.&lt;br /&gt;&lt;br /&gt;A ver si en tres meses han sido capaces de crear algún portal en la red capaz de satisfacer los tres niveles del discurso.&lt;br /&gt;Si no se cumple con eso que no te engañen, no se está ante tecnócratas, y con tres meses hay tiempo de sobra para averiguarlo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-5487084163357578070?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/OU-rYLuQejQ" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-15T12:33:46.024+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2011/11/gobiernos-de-tecnocratas.html</feedburner:origLink></item><item><title>Modelización de Europa</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/-lFFGFJD214/modelizacion-de-europa.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Sat, 12 Nov 2011 02:17:12 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-8538757414901057419</guid><description>Ayer vi una noticia que Merkel decía que que a Europa &lt;a href="http://www.elmundo.es/elmundo/2011/11/05/economia/1320488670.html"&gt;le hace falta 'una década' para sanear sus finanzas&lt;/a&gt;... con los medios que existen para exponer de forma clara e intuitiva diagramas, estadísticas, bases de datos y modelos matemáticos, todavía parece normal poder dar este tipo de informaciones sin acompañarlas con el enlace al informe técnico que soporta esas conclusiones. Alguien mal pensado podría llegar a que se funciona a salto de mata dirigiendo mediante este tipo de ocurrencias. &lt;br /&gt;&lt;br /&gt;No existe, triste e increiblemente, ningún portal en el que se pueda monitorizar el estado y la evolución temporal de la deuda de los paises miembros de la Comunidad Europea.&lt;br /&gt;&lt;br /&gt;Debería existir un modelo de las finanzas europeas que cumpliese con los siguientes requisitos:&lt;br /&gt;&lt;br /&gt;- Definir de forma clara todos y cada uno de los parámetros que intervienen en los cálculos económicos y de deuda.&lt;br /&gt;- Situar en un modelo normalizado de datos todos los parámetros definidos.&lt;br /&gt;&lt;br /&gt;Una vez definido en el modelo normalizado de datos se debería:&lt;br /&gt;- Definir los orígenes de donde se deben obtener los datos con los que poblar el modelo de datos.&lt;br /&gt;- Definir el mecanismo de publicación de información en esos orígenes.&lt;br /&gt;&lt;br /&gt;Todo eso expuesto de forma clara e intuitiva en un portal en el que cualquiera pueda lanzar consultas y sugerencias. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Este mismo razonamiento es aplicable a España y sus Comunidades Autónomas. Con lo que esta en juego y los cientos de miles de millones que se mueven, deja perplejo la ausencia de oferta, y sobre todo de demanda, de este tipo de información.&lt;br /&gt;&lt;br /&gt;Da la sensación de que lo que de verdad se persigue es que nadie se entere de nada.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-8538757414901057419?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/-lFFGFJD214" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-12T11:17:12.189+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2011/11/modelizacion-de-europa.html</feedburner:origLink></item><item><title>Esquema de micropagos</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/XmLzOlkXFKY/esquema-de-micropagos.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Tue, 11 Oct 2011 02:59:33 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-3127342702190217652</guid><description>Una de las razones por las que creo que el esquema que planteo para hacer votaciones a través de Internet saldrá adelante tarde o temprano es porque exáctamente los mismos requisitos necesarios para su implantación son los que se necesitan para la Administración en red, sistemas de protección para menores o un ecosistema de &lt;a href="http://www.gruposp2p.org/2011/05/principal-diferencia-entre-pago-normal.html"&gt;micropagos&lt;/a&gt; sostenible.&lt;br /&gt;Sin el sistema de &lt;a href="http://www.gruposp2p.org/2011/05/principal-diferencia-entre-pago-normal.html"&gt;micropagos&lt;/a&gt; los piratas acabarán comiendose a los creadores de contenidos, aunque sólo sea por esto la cosa llegará.&lt;br /&gt;Aquí va lo que podría ser un esquema de &lt;a href="http://www.gruposp2p.org/2011/05/principal-diferencia-entre-pago-normal.html"&gt;micropagos&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-KY-znqZ-Q4Q/TpQSULE2oXI/AAAAAAAAAE0/mCqNxj2P1oY/s1600/EsquemaPagos.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 211px;" src="http://1.bp.blogspot.com/-KY-znqZ-Q4Q/TpQSULE2oXI/AAAAAAAAAE0/mCqNxj2P1oY/s400/EsquemaPagos.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5662170769291387250" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;La forma más fácil de introducir tasas a transacciones internacionales también pasa por la aplicación de estos mismo patrones.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-3127342702190217652?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/XmLzOlkXFKY" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-11T11:59:33.009+02:00</app:edited><media:thumbnail url="http://1.bp.blogspot.com/-KY-znqZ-Q4Q/TpQSULE2oXI/AAAAAAAAAE0/mCqNxj2P1oY/s72-c/EsquemaPagos.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2011/10/esquema-de-micropagos.html</feedburner:origLink></item><item><title>Diagrama del Sistema de Votación</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/lsZtWQFGbZ4/diagrama-del-sistema-de-votacion.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Wed, 19 Oct 2011 23:47:17 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-7771800199639392870</guid><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-A3xS7J_Vrk0/Tp_D5_qn6bI/AAAAAAAAAFM/BYc72nYpqnc/s1600/SistemaVotacion.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 233px;" src="http://4.bp.blogspot.com/-A3xS7J_Vrk0/Tp_D5_qn6bI/AAAAAAAAAFM/BYc72nYpqnc/s400/SistemaVotacion.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5665462257365543346" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-7771800199639392870?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/lsZtWQFGbZ4" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-20T08:47:17.598+02:00</app:edited><media:thumbnail url="http://4.bp.blogspot.com/-A3xS7J_Vrk0/Tp_D5_qn6bI/AAAAAAAAAFM/BYc72nYpqnc/s72-c/SistemaVotacion.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2011/10/diagrama-del-sistema-de-votacion.html</feedburner:origLink></item><item><title>Nueva arquitectura del sistema de votación</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/kNF7NPkchWY/nueva-arquitectura-del-sistema-de.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Mon, 26 Sep 2011 13:36:04 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-7635233474005687763</guid><description>Estoy a mitad de una refactorización de calado del &lt;a href="https://github.com/jgzornoza/SistemaVotacionControlAcceso/wiki/Control-de-Acceso"&gt;Sistema de Votación&lt;/a&gt; que dejará así las cosas:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span"&gt;Actores que intervienen en una votación&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Control de Acceso, &lt;/b&gt;aplicación que se ejecuta en un servidor.&lt;br /&gt;&lt;b&gt;Centro de Control, &lt;/b&gt;aplicación que se ejecuta en un servidor.&lt;br /&gt;&lt;b&gt;Usuario que vota, &lt;/b&gt;usando una aplicación que, por lo pronto, se ejecuta en un PC.&lt;br /&gt;&lt;br /&gt;Para poder convocar una votación se tiene que usar la &lt;a href="https://github.com/jgzornoza/SistemaVotacionClientePublicacion/wiki/Herramienta-de-Publicaci%C3%B3n"&gt;herramienta de publicación&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Para votar, el usuario sólo tiene que hacer su elección a través de un formulario que le presenta &lt;a href="https://github.com/jgzornoza/SistemaVotacionClienteVoto/wiki/Cliente-de-Voto"&gt;el programa cliente de voto&lt;/a&gt;. Una vez que elige e introduce la contraseña de su DNI se desencadena, de forma transparente para él, el siguiente flujo de operaciones:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;El programa de voto genera una petición de certificación y una &lt;a href="https://github.com/jgzornoza/SistemaVotacionClientePublicacion/wiki/Solicitud-de-acceso"&gt;solicitud firmada&lt;/a&gt; con el DNI del usuario y envía ambas al &lt;a href="https://github.com/jgzornoza/SistemaVotacionControlAcceso"&gt;Control de Acceso&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;El &lt;a href="https://github.com/jgzornoza/SistemaVotacionControlAcceso"&gt;Control de Acceso&lt;/a&gt; valida lo que tenga que validar y si todo es correcto devuelve un certificado de un solo uso en el que no figura ningún dato que lo relacione con el usuario.&lt;/li&gt;&lt;li&gt;El programa cliente utiliza el certificado de un solo uso para firmar la opción seleccionada y enviarla al &lt;a href="https://github.com/jgzornoza/SistemaVotacionCentroControl/wiki/Centro-de-Control"&gt;Centro de Control&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;El &lt;a href="https://github.com/jgzornoza/SistemaVotacionCentroControl/wiki/Centro-de-Control"&gt;Centro de Control&lt;/a&gt; hace sus validaciones y si todo es correcto firma el voto recibido y lo reenvía al &lt;a href="https://github.com/jgzornoza/SistemaVotacionControlAcceso/wiki/Control-de-Acceso"&gt;Control de Acceso&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;El &lt;a href="https://github.com/jgzornoza/SistemaVotacionControlAcceso/wiki/Control-de-Acceso"&gt;Control de Acceso&lt;/a&gt; hace sus validaciones y si todo es correcto firma el documento que le ha pasado el &lt;a href="https://github.com/jgzornoza/SistemaVotacionCentroControl/wiki/Centro-de-Control"&gt;Centro de Control&lt;/a&gt; y se lo devuelve.&lt;/li&gt;&lt;li&gt;El &lt;a href="https://github.com/jgzornoza/SistemaVotacionCentroControl/wiki/Centro-de-Control"&gt;Centro de Control&lt;/a&gt; envía al &lt;a href="https://github.com/jgzornoza/SistemaVotacionClienteVoto/wiki/Cliente-de-Voto"&gt;usuario&lt;/a&gt; el documento firmado por las tres partes, &lt;a href="https://github.com/jgzornoza/SistemaVotacionClientePublicacion/wiki/Voto"&gt;el voto&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;El programa cliente realiza sus validaciones sobre &lt;a href="https://github.com/jgzornoza/SistemaVotacionClientePublicacion/wiki/Voto"&gt;el voto&lt;/a&gt; y le muestra el resultado de las mismas al usuario.&lt;/li&gt;&lt;/ol&gt;- Los certificados que devuelve el &lt;a href="https://github.com/jgzornoza/SistemaVotacionControlAcceso/wiki/Control-de-Acceso"&gt;Control de Acceso&lt;/a&gt; a un usuario sólo son válidos para un uso. Si aparecen dos firmas distintas con un mismo certificado este quedará invalidado.&lt;br /&gt;- El usuario siempre tiene la posibilidad de anular el voto asociado al certificado obtenido del &lt;a href="https://github.com/jgzornoza/SistemaVotacionControlAcceso/wiki/Control-de-Acceso"&gt;Control de Acceso&lt;/a&gt;.&lt;br /&gt;- Al terminar una votación se hacen publicos todos los votos en el &lt;a href="https://github.com/jgzornoza/SistemaVotacionControlAcceso/wiki/Control-de-Acceso"&gt;Control de Acceso&lt;/a&gt; y en el &lt;a href="https://github.com/jgzornoza/SistemaVotacionCentroControl/wiki/Centro-de-Control"&gt;Centro de Control&lt;/a&gt;.&lt;br /&gt;- El usuario que quiera puede guardarse el &lt;a href="https://github.com/jgzornoza/SistemaVotacionClientePublicacion/wiki/Voto"&gt;voto validado&lt;/a&gt;, para asegurarse que se encuentra en el recuento definitivo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-7635233474005687763?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/kNF7NPkchWY" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-26T22:36:04.885+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2011/09/nueva-arquitectura-del-sistema-de.html</feedburner:origLink></item><item><title>Internet en el televisor</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/Ae94RvW0k6U/internet-en-el-televisor.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Tue, 06 Sep 2011 03:05:07 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-4448992482142407368</guid><description>Acabo de leer una noticia en la que se hablaba del acceso a Internet por el televisor, la cosa decía mas o menos así:&lt;br /&gt;" ...Imagina una experiencia conectar y disfrutar verdadera. Un dispositivo con sólo dos cables, el del enchufe y el del cable del televisor. Enciéndelo introduce tu identificador y contraseña y listo. El programa te guiará por canales de televisión, juegos o redes de telefonía  a la distancia de un click. Simplemente 'funcionará' con tus otros dispositivos y servirá de punto de acceso Wi-Fi...".&lt;br /&gt;&lt;br /&gt;Eso mismo será lo único que hará falta para introducir una urna en el salón de tu casa en la que, si se quiere, se podrán convocar diariamente consultas a nivel Europeo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-4448992482142407368?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/Ae94RvW0k6U" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-06T12:05:07.157+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2011/09/internet-en-el-televisor.html</feedburner:origLink></item><item><title>Prototipo de sistema de juego online</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/eJEf-prEisQ/prototipo-de-sistema-de-juego-online.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Wed, 24 Aug 2011 05:36:25 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-7570701682520996213</guid><description>El prototipo sólo sirve para demostrar los fundamentos explicados en el artículo &lt;a href="http://www.gruposp2p.org/2011/08/anadir-un-nivel-de-seguridad-juegos.html"&gt;Añadir un nivel de seguridad a juegos online de dados y cartas&lt;/a&gt;.
&lt;br /&gt;&lt;div&gt;Para acceder a esos servicios es recomendable tener instalado en el navegador algún plugin que sirva para navegar por entornos &lt;a href="http://es.wikipedia.org/wiki/JSON"&gt;JSON&lt;/a&gt;, por ejemplo &lt;a href="https://chrome.google.com/webstore/detail/chklaanhfefbnpoihckbnefhakgolnmc"&gt;JSONView en Chrome&lt;/a&gt; o &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/jsonview"&gt;JSONVIEW en Firefox&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;div&gt;Para generar los datos de una nueva partida de &lt;b&gt;Poker &lt;/b&gt;basta con visitar &lt;a href="http://guaranteedrounds.cloudfoundry.com/gameSession/newPokerGame"&gt;este enlace&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;Para generar los datos de una nueva partida en la que se empleen &lt;b&gt;dados &lt;/b&gt;hay que visitar &lt;a href="http://guaranteedrounds.cloudfoundry.com/gameSession/newDiceGame?numberOfDices=2&amp;amp;sizeOfSecuence=100"&gt;este enlace&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;Para la generación de los datos de una partida de &lt;b&gt;dados&lt;/b&gt; se utilizan dos parámetros:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;'&lt;b&gt;numberOfDices&lt;/b&gt;' es el número de dados empleados en el juego.&lt;/li&gt;&lt;li&gt;'&lt;b&gt;sizeOfSecuence&lt;/b&gt;' el tamaño de la secuencia de números aleatorios generada para usar a lo largo de la partida.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;El código fuente se puede obtener &lt;a href="https://github.com/jgzornoza/GuaranteedRounds"&gt;desde aquí&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Prototipo creado en 5 horas.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-7570701682520996213?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/eJEf-prEisQ" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-24T14:36:25.463+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2011/08/prototipo-de-sistema-de-juego-online.html</feedburner:origLink></item><item><title>Añadir un nivel de seguridad a juegos online de dados y cartas</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/deAJiEbumm0/anadir-un-nivel-de-seguridad-juegos.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Thu, 25 Aug 2011 00:19:41 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-2450599711709350300</guid><description>&lt;div&gt;He investigado un poco ese tipo de juegos online y me he llevado una sorpresa al ver que no existen, o al menos no he visto, mecanismos que garanticen que las cartas y los valores de los dados no vienen dados en función de lances del juego.&lt;/div&gt;&lt;div&gt;Aquí va un sencillo mecanismo que deberían exigir los jugadores con el fin de añadir seguridad a sus partidas para que, aunque no vayan a utilizarlo, sepan que cualquiera podría comprobarlo si fuera necesario.&lt;/div&gt;&lt;hr /&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;Juegos de cartas&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Antes de empezar una partida el servidor debería:&lt;/div&gt;&lt;div&gt;1- 'Barajar' las cartas. &lt;/div&gt;&lt;div&gt;2- Hacer el hash de una cadena formada por:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;La secuencia de cartas barajadas que se repartirá entre los jugadores.&lt;/li&gt;&lt;li&gt;Una secuencia de, por ejemplo, 100 números ordenados de forma aleatoria que servirían para determinar el orden de los jugadores en la mesa de juego.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;3- Firmar el hash con un certificado de confianza, publicar el documento firmado y notificar, antes de comenzar la partida, a todos los jugadores de la url donde se puede acceder al documento firmado. &lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;Juegos de dados&lt;/b&gt;&lt;/span&gt;  &lt;/div&gt;&lt;div&gt;Antes de empezar una partida el servidor debería:&lt;/div&gt;&lt;div&gt;1- Generar una secuencia suficientemente larga de números como para satisfacer todos los lanzamientos de dados necesarios.&lt;/div&gt;&lt;div&gt;2- Hacer el hash de una cadena formada por:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;La secuencia generada en el paso 1.&lt;/li&gt;&lt;li&gt;Una secuencia de, por ejemplo, 100 números ordenados de forma aleatoria que servirían para determinar el orden de los jugadores en la mesa de juego.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;3- Firmar el hash con un certificado de confianza, publicar el documento firmado y notificar, antes de comenzar la partida, a todos los jugadores de la url donde se puede acceder al documento firmado.&lt;/div&gt;&lt;hr /&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El orden de los jugadores en la mesa se obtendría al hacerles elegir un número de 1 a 100 y ver el valor asociado en la secuencia generada para ese propósito. De esa forma se garantiza que no se genera una distribución que beneficie a un jugador que ocupe un lugar determinado en la mesa.&lt;/div&gt;&lt;div&gt;Al terminar la partida el servidor tendría que hacer público el origen del hash firmado para que los jugadores que tengan dudas puedan comprobar que la secuencia de cartas de la partida, o valores de dados, coincide con la del documento firmado.&lt;/div&gt;&lt;div&gt;Para saltarse este sistema el servidor debería tener un 'infiltrado' en la partida al que tendría que notificar la secuencias con las que se obtiene el hash. Esa misma pega existe en el mecanismo empleado actualmente.&lt;/div&gt;&lt;div&gt;El documento firmado publicado sería similar a los &lt;a href="http://sistemavotacioncontrolacceso.cloudfoundry.com/evento/firmado?id=3"&gt;recibos del sistema de votación&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;Prototipo en breve.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-2450599711709350300?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/deAJiEbumm0" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-25T09:19:41.198+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2011/08/anadir-un-nivel-de-seguridad-juegos.html</feedburner:origLink></item><item><title>Resultados validados</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/YXZALhnwwhY/resultados-validados.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Tue, 19 Jul 2011 17:12:38 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-2524740850498753218</guid><description>&lt;div&gt;Al no exigir firma con certificado, los medios de recogida de firmas de uso extendido en Internet son fácilmente manipulables y por ello poco fiables. Para estar seguro de que una firma es legítima y no está manipulada debe estar hecha con un certificado como el que lleva el DNI electrónico. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Usando medios tradicionales pueden tardarse meses en recoger por ejemplo 500.000 firmas, y no se lo que se tardará en la validación de las mismas pero imagino que otro tanto. Usando medios electrónicos pueden recogerse esas firmas en una hora y validarse en menos tiempo.&lt;/div&gt;&lt;div&gt;Un buen sistema de recogida de firmas debe permitir descargar las firmas recibidas para que el que quiera pueda comprobar con sus propios medios la validez de las mismas.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Un buen sistema de votación por Internet, debe permitir que cualquiera pueda descargarse y validar toda la información de una votación para asegurarse que el resultado no es alterado. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;La firma electrónica es el camino más rápido y directo para conseguir poder ejercer presión de forma civilizada en los temas que más interesen.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-2524740850498753218?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/YXZALhnwwhY" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-20T02:12:38.766+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2011/07/resultados-validados.html</feedburner:origLink></item><item><title>Tablas del Sistema de Votación</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/-7gVzwYsae0/nivel-del-post-pseudotecnico-una-de-las.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Sun, 26 Jun 2011 01:02:03 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-1014634223900273249</guid><description>&lt;div&gt;&lt;i&gt;Nivel del post -&amp;gt; pseudotécnico&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Una de las formas de activismo que veo por explotar consiste en la creación de programas informáticos que muestren visiones claras de los problemas, de las soluciones que se quieren aplicar y que proporcionen mecanismos para poder canalizar las opiniones y las ayudas de forma que nadie pueda acabar manipulando la iniciativa de forma torticera o de que se creen montañas de discursos que no llevan a ninguna parte.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;¿Qué pensarías de las capacidades de un programa que necesita las siguientes tablas en la base de datos?:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Usuario&lt;/li&gt;&lt;li&gt;Certificado&lt;/li&gt;&lt;li&gt;CentroControl&lt;/li&gt;&lt;li&gt;Evento&lt;/li&gt;&lt;li&gt;EventoFirma&lt;/li&gt;&lt;li&gt;EventoVotacion&lt;/li&gt;&lt;li&gt;OpcionDeEvento&lt;/li&gt;&lt;li&gt;TokenAcceso&lt;/li&gt;&lt;li&gt;Observador&lt;/li&gt;&lt;li&gt;Mensaje&lt;/li&gt;&lt;li&gt;Firma&lt;/li&gt;&lt;li&gt;Recibo&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-1014634223900273249?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/-7gVzwYsae0" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-26T10:02:03.533+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2011/06/nivel-del-post-pseudotecnico-una-de-las.html</feedburner:origLink></item><item><title>Democracia participativa en tiempo real.</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/KSOXti9Hoo4/democracia-participativa-en-tiempo-real.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Tue, 21 Jun 2011 19:36:05 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-1310226149877326074</guid><description>&lt;div&gt;El sistema de votación que estoy desarrollando ya empieza a estar presentable y muestra una forma de hacer que el ciudadano pueda tomar parte en la toma de decisiones.&lt;/div&gt;&lt;div&gt;Es algo que aunque no se pueda aplicar a todo, claramente si se puede, se debe, aplicar a algunas cosas. Por eso merece la pena darle de vez en cuando una vuelta para ver el avance.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En este &lt;a href="http://www.eduardpunset.es/12917/general/las-infranqueables-murallas-del-mercado-politico"&gt;post&lt;/a&gt; vi algo que creo que es bueno repetir:&lt;/div&gt;&lt;div&gt;&lt;i&gt;"... No parece que guste a la mayoría o que conduzca a mejores horizontes la vieja división del país en derechas e izquierdas, que antaño condujo a la horrenda Guerra Civil. Es más importante contar y agruparse en torno a los que están por delante de los problemas más acuciantes –como los sistemas de representación democrática, la reforma educativa, el medio ambiente o la energía– que los que siguen detrás, defendiendo viejos mitos inservibles en el mundo moderno como el control del estamento jurídico por los partidos políticos. Por favor, la sociedad en pleno está irritada por el discurso político cuando es más ideológico que centrado en problemas concretos..."&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Parte de esos problemas desaparecerían si fuera obligatorio que cualquier cargo público que cobrase mas de 30.000 euros tuviera que explicar semanalmente en su blog en qué ha empleado su tiempo para que la gente pudiera hacerle preguntas y sugerencias.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;A mi me gustaría saber a qué proyectos concretos va el dinero destinado a las ONG. Con una aplicación como la que estoy desarrollando debería ser posible dar la opción de elegir los proyectos a los que va el dinero. Y de forma ideal, esos proyectos deberían ir publicando periódicamente en la red el estado de los trabajos para ver en qué se emplea ese dinero.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;También se pueden explorar soluciones mas 'imaginativas'. Se podría crear un fondo diario de, por ejemplo, 5 millones de euros (no creo que sea un disparate viendo el gasto de las televisiones autonómicas) a repartir de forma proporcional a los votos recibidos entre los eventos publicados, siguiendo una especie de Q3, Q2 ... de la fórmula uno.  &lt;/div&gt;&lt;div&gt;Las votaciones son anónimas, igual se da lugar a una forma de política/trabajo en la que el que quiera financiación se tendrá que esforzar diariamente, nada de cheques de 4 años en blanco. O igual a la gente le da por contratar día si día también actuaciones de Justin Bieber, tal y como están las cosas cualquiera sabe. &lt;/div&gt;&lt;div&gt;Lo importante es tener claro que, usando prácticamente los mismos patrones, se puede hacer cualquier cosa que se pueda imaginar.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-1310226149877326074?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/KSOXti9Hoo4" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-22T04:36:05.622+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2011/06/democracia-participativa-en-tiempo-real.html</feedburner:origLink></item><item><title>Una forma sencilla de añadir transparencia en las instituciones</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/SrRC4pSgLb8/una-forma-sencilla-de-anadir.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Sat, 11 Jun 2011 00:52:59 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-2942029398248566126</guid><description>Crear un catálogo de eventos de interés que puedan suceder en una organización. Por ejemplo:&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;Salida de dinero&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Procedencia:&lt;/li&gt;&lt;li&gt;Destino:&lt;/li&gt;&lt;li&gt;Detalles:&lt;/li&gt;&lt;li&gt;Fecha:&lt;/li&gt;&lt;li&gt;Importe:&lt;/li&gt;&lt;li&gt;Condiciones de pago:&lt;/li&gt;&lt;li&gt;Condiciones de servicio:&lt;/li&gt;&lt;li&gt;...&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Y así se van definiendo uno a uno todos los eventos que se deseen publicar y toda la información relacionada con cada tipo de evento.&lt;br /&gt;&lt;br /&gt;Se crea un sistema de publicación semejante al que tiene Twitter y al que se pueda acceder de forma similar a &lt;a href="http://twitter.com/users/show/toledoayto.json"&gt;Ayuntamiento de Toledo&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Previa definición de unos manuales y procedimientos de publicación, ese sistema mostrará todos los eventos de interés que se produzcan al día en la organización que se desee monitorizar.&lt;br /&gt;&lt;br /&gt;Con ese sistema de publicación el que quiera hacer un estudio sobre un determinado tipo de evento a nivel local/provincial/nacional ... sabrá cómo acceder a toda la información necesaria y nunca más se tendrá que exigir que las cuentas estén claras, ni permiso para acceder a ellas. Si se deberá exigir que se cumplan las normas de publicación.&lt;br /&gt;&lt;br /&gt;Todo día que pase sin un sistema de estas características en funcionamiento se está tirando ese dinero que tanto escasea. No se me ocurre ninguna excusa decente por la que una cosa así no pueda estar lista en medio año.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-2942029398248566126?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/SrRC4pSgLb8" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-11T09:52:59.527+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2011/06/una-forma-sencilla-de-anadir.html</feedburner:origLink></item><item><title>Sistema de Votación Anónimo I</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/EQSFBGDj0w4/sistema-de-votacion-anonimo-i.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Fri, 13 May 2011 13:45:29 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-3286229279400964560</guid><description>En &lt;a href="https://github.com/jgzornoza/SistemaVotacionControlAcceso/wiki/Control-de-Acceso"&gt;esta página&lt;/a&gt; se puede encontrar la documentación que estoy creando para la implementación de un sistema de votación anónimo usable a través de Internet.&lt;br /&gt;La cosa será ‘de masas’ cuando pueda usarse sin problemas desde los teléfonos móviles. En Android, que es donde tengo las antenas, todavía está verde el tema de los lectores de tarjetas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-3286229279400964560?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/EQSFBGDj0w4" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-13T22:45:29.476+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2011/05/sistema-de-votacion-anonimo-i.html</feedburner:origLink></item><item><title>Validación de documentos CMS</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/v2_SQ2Bjh8U/validacion-de-documentos-cms.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Fri, 13 May 2011 13:45:29 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-3482246332709722996</guid><description>&lt;p&gt;Con el &lt;strong&gt;DNI electrónico&lt;/strong&gt; se pueden hacer &lt;strong&gt;firmas electrónicas reconocidas&lt;/strong&gt;.&lt;br /&gt;La &lt;strong&gt;firma electrónica reconocida&lt;/strong&gt;  tiene respecto de los datos consignados en forma electrónica el mismo  valor que la firma manuscrita en relación con los consignados en papel.&lt;/p&gt;  &lt;p&gt;Ahora estoy trabajando en unos programas,  &lt;a href="https://github.com/jgzornoza/ServidorDNIe"&gt;ServidorDNIe&lt;/a&gt; y &lt;a href="https://github.com/jgzornoza/ClienteDNIe"&gt;ClienteDNie&lt;/a&gt;, que sirven para recoger documentos firmados y hacer votaciones no anónimas, al ir el voto firmado la identidad se sabe.&lt;br /&gt;La aplicación se comunica con el servidor usando mensajes firmados con el DNI electrónico y que cumplen con el &lt;a href="http://en.wikipedia.org/wiki/Cryptographic_Message_Syntax"&gt;estándar CMS&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Para probar que los mensajes generados cumplen con el estándar se pueden usar varios programas:&lt;br /&gt;El cliente de correo &lt;a href="http://www.mozillamessaging.com/es-ES/thunderbird/"&gt;Thunderbird&lt;/a&gt;. Para ello, una vez se tiene instalado el programa, hay que ir a:&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;Editar &amp;gt; preferencias &amp;gt; avanzado &amp;gt; certificados &amp;gt; ver certificados &amp;gt; Importar&lt;/p&gt;  &lt;p&gt;Y añadir el &lt;a href="http://dniesign.googlecode.com/files/ac_raiz_dnie.pem"&gt;certificado raíz del DNI electrónico&lt;/a&gt;. Una vez importado el certificado se puede abrir un archivo firmado y ver lo que dice Thunderbird.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.openssl.org/"&gt;OpenSSL&lt;/a&gt;. Por defecto no viene con el soporte para CMS, hay que descargarlo y compilarlo así:&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;&lt;code&gt;cd $directorioEnElQueSeHayaDescomprimidoOpenSSL&lt;br /&gt;./config enable-cms&lt;br /&gt;make&lt;br /&gt;make test&lt;br /&gt;make install&lt;/code&gt;&lt;/p&gt; &lt;p&gt;De esta forma &lt;strong&gt;OpenSSL&lt;/strong&gt; se instalará en /usr/local/ssl/bin/openssl&lt;/p&gt;  &lt;p&gt;Para verificar un archivo &lt;strong&gt;CMS&lt;/strong&gt; firmado con el &lt;strong&gt;DNI electrónico&lt;/strong&gt; se usaría el comando:&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;&lt;code&gt;/usr/local/ssl/bin/openssl cms -verify -in documentoFirmado -CAfile ac_raiz_dnie.pem -out signedtext.txt&lt;/code&gt;&lt;/p&gt; &lt;p&gt;Donde &lt;strong&gt;&lt;a href="http://dniesign.googlecode.com/files/ac_raiz_dnie.pem"&gt;ac_raiz_dnie.pem&lt;/a&gt;&lt;/strong&gt; es el certificado raíz del DNI&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-3482246332709722996?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/v2_SQ2Bjh8U" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-13T22:45:29.369+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2011/05/validacion-de-documentos-cms.html</feedburner:origLink></item><item><title>Principal diferencia entre pago normal y micropago</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/KgZScKFTXLE/principal-diferencia-entre-pago-normal.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Fri, 13 May 2011 13:45:29 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-1678085398347754973</guid><description>La principal diferencia entre los pagos normales y los micropagos se encuentra en las comisiones que se cobran al realizar los mismos.&lt;br /&gt;Para entenderlo basta mirar estos datos:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;pagar 1.00 euro -&amp;gt; comisión micropago=0.10, comisión normal=0.33&lt;/li&gt;&lt;li&gt;pagar 5.00 euros -&amp;gt; comisión micropago=0.30, comisión normal=0.45&lt;/li&gt;&lt;li&gt;pagar 10.00 euros -&amp;gt; comisión micropago=0.55, comisión normal=0.59&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight:bold;"&gt;pagar 12.00 euros -&amp;gt; comisión micropago=0.65, comisión normal=0.65 (punto de encuentro)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;pagar 14.00 euros -&amp;gt; comisión micropago=0.75, comisión normal=0.71&lt;/li&gt;&lt;li&gt;pagar 16.00 euros -&amp;gt; comisión micropago=0.85, comisión normal=0.76&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;La información se refiere a una entidad extrangera, ahora mismo no se de ninguna entidad española que trabaje con micropagos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-1678085398347754973?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/KgZScKFTXLE" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-13T22:45:29.411+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2011/05/principal-diferencia-entre-pago-normal.html</feedburner:origLink></item><item><title>Configuración de Grails para usar el DNI electrónico como mecanismo de autentificación</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/cJmhGBlGvoM/configuracion-de-grails-para-usar-el.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Fri, 13 May 2011 13:45:29 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-2855859437901419414</guid><description>Para esta aplicación es necesario tener un servidor configurado para que solicite certificados al acceder a un recurso seguro, &lt;a href="http://code.google.com/p/dniesign/wiki/AutentificacionDNIeTomcat"&gt;en esta página&lt;/a&gt; se explican los detalles.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;grails create-app AutentificacionDNIe&lt;br /&gt;cd AutentificacionDNIe&lt;br /&gt;grails install-plugin spring-security-core&lt;br /&gt;grails s2-quickstart org.gruposp2p.openid.provider UserDNI RoleDNI&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Se crea el controlador cuyo acceso se quiera securizar con DNI electrónico:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;grails create-controller secure&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Para solicitar el acceso del DNIe se configura la aplicación para que el acceso al controlador se haga exclusivamente a través del protocolo HTTPS. Para ello se edita ‘Config.groovy’ y se añade:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;grails.plugins.springsecurity.useX509=true&lt;br /&gt;grails.plugins.springsecurity.x509.subjectDnRegex = 'SERIALNUMBER=(.*?),'&lt;br /&gt;grails.plugins.springsecurity.portMapper.httpsPort=8443&lt;br /&gt;grails.plugins.springsecurity.secureChannel.definition = ['/secure/**':'REQUIRES_SECURE_CHANNEL',&lt;br /&gt;                                                           '/**': 'ANY_CHANNEL']&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Para comprobar que todo funciona se edita BootStrap.groovy y se añade un usuario de pruebas&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-2855859437901419414?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/cJmhGBlGvoM" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-13T22:45:29.440+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2011/05/configuracion-de-grails-para-usar-el.html</feedburner:origLink></item><item><title></title><link>http://feedproxy.google.com/~r/GruposP2p/~3/kiRpQv6NqGA/final-client-client-new-clientprotocol.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Tue, 14 Apr 2009 15:07:46 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-1139590449512392764</guid><description>&lt;pre name='code' class="brush: java"&gt;&lt;br /&gt;final Client client = new Client(Protocol.HTTP);&lt;br /&gt;Request request = new Request(Method.GET,&lt;br /&gt;“http://localhost:8888/ping”);&lt;br /&gt;request.setChallengeResponse(new ChallengeResponse(&lt;br /&gt;ChallengeScheme.HTTP_BASIC, “scott”, “tiger”&lt;br /&gt;.toCharArray()));&lt;br /&gt;&lt;br /&gt;client.handle(request, new Callback() {&lt;br /&gt;@Override&lt;br /&gt;public void onEvent(Request request, Response response) {&lt;br /&gt;button.setText(response.getEntity().getText());&lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-1139590449512392764?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/kiRpQv6NqGA" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-15T00:07:46.986+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2009/04/final-client-client-new-clientprotocol.html</feedburner:origLink></item><item><title>Creación de entidades de persistencia a partir de la base de datos con Netbeans</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/RYYRAvqgPck/creacin-de-entidades-de-persistencia.html</link><category>JPA Netbeans</category><author>noreply@blogger.com (Jose J. García)</author><pubDate>Mon, 14 May 2007 07:09:29 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-531003441411136778</guid><description>Existen varias aproximaciones para la creación de las entidades de persistencia a la hora de trabajar con JPA, sobre el papel, la más idonea sería describir las clases Java que representan las entidades y utilizar luego herramientas que, a partir de esas clases, permiten la generación de las tablas de la base de datos generando de forma automática las sentencias DDL. Eso permite abstraerse de la base de datos sobre la que se realizará la persistencia.&lt;br /&gt;&lt;br /&gt;Pero bien porque uno venga de un entorno mas orientado a base de datos y sepa que no va a cambiar de entorno, bien porque se parta de unas estructuras de bases de datos que no se puedan modificar, o por lo que sea, también se pueden obtener las clases Java a partir de una estructura de base de datos. En este artículo trataré esa aproximación. Para seguir las explicaciones habrá que descargarse el archivo '&lt;a href="http://depositos.googlecode.com/files/Depositos_01.zip"&gt;Depositos_01.zip&lt;/a&gt;', es un proyecto Netbeans (muy básico).&lt;br /&gt;Como entorno de desarrollo utilizaré Netbeans 5.5. En la máquina en la que se ejecute la aplicación debe haber instalado un &lt;a href="http://java.sun.com/javase/downloads/index.jsp"&gt;JDK&lt;/a&gt; mayor o igual que la versión 1.5.&lt;br /&gt;Para poder obtener el entorno de desarrollo habría que descargarse desde &lt;a href="http://www.netbeans.org/"&gt;aqui&lt;/a&gt; el entorno de desarrollo de Netbeans y el NetBeans Enterprise Pack 5.5, una vez descargados los archivos, se procede a la instalación ejecutando primero el instalador del IDE y después el del Enterprise pack. Recientemente he leido en algunos sitios que Sun ha llegado a acuerdos con Ubuntu y que pronto se podrán instalar estos programas haciendo un simple 'apt-get', por lo pronto lo que hay en los repositorios son paquetes de instalación, no es una instalación completa, para proceder a la instalación utilizando este mecanismo hay un punto en el que se pide que se descargue el tgz del sitio web de Netbeans y que se copie en el directorio /tmp).&lt;br /&gt;Una vez instalado el entorno de desarrollo ya se puede abrir el proyecto descargado anteriormente. En él, bajo el directorio 'Source Packages' se puede ver que hay un paquete llamado 'recursos.dbscripts.derby'&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Creación de una base de datos Derby con Netbeans&lt;/span&gt;&lt;br /&gt;Se selecciona la opción Tools -&gt; Java DB Database -&gt; Create Java DB Database y se rellenan los datos de un formulario como este:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_G6RJcTt_Vv4/RkhAbtxrP8I/AAAAAAAAABE/hOsFg6g2dXs/s1600-h/CreateJavaDB.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_G6RJcTt_Vv4/RkhAbtxrP8I/AAAAAAAAABE/hOsFg6g2dXs/s400/CreateJavaDB.png" alt="" id="BLOGGER_PHOTO_ID_5064368625866719170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Una vez creada la base de datos, para poder trabajar con ella habrá que realizar una conexión, para ello, estando sobre el 'tab' 'Runtime', se pulsa con el botón derecho del ratón sobre el nodo correspondiente a la base de datos que acabamos de crear y seleccionamos 'connect'.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_G6RJcTt_Vv4/RkhAxNxrP9I/AAAAAAAAABM/QXgeHjs5lZo/s1600-h/RuntimeDerby.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_G6RJcTt_Vv4/RkhAxNxrP9I/AAAAAAAAABM/QXgeHjs5lZo/s400/RuntimeDerby.png" alt="" id="BLOGGER_PHOTO_ID_5064368995233906642" border="0" /&gt;&lt;/a&gt;Una vez que se dispone de la conexión con la base de datos ya se puede trabajar con ella desde el entorno de desarrollo. Para generar las tablas de la base de datos a partir de las cuales queremos extraer las entidades, se abre el archivo 'createdb.sql' situado en el paquete 'recursos.dbscripts.derby' (dentro del proyecto que nos hemos descargado), se selecciona la conexión con la base de datos con la que se quiera trabajar y se hace click sobre el botón de ejecución de scripts.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_G6RJcTt_Vv4/RkhA99xrP-I/AAAAAAAAABU/3m62xdIm9d0/s1600-h/sql_tab.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_G6RJcTt_Vv4/RkhA99xrP-I/AAAAAAAAABU/3m62xdIm9d0/s400/sql_tab.png" alt="" id="BLOGGER_PHOTO_ID_5064369214277238754" border="0" /&gt;&lt;/a&gt;Una vez generadas las tablas ya se puede utilizar el asistente para la generación de las clases entidades siguiendo los siguientes pasos:&lt;br /&gt;Se generan las clases de entidades: File -&gt; New File -&gt; se selecciona la categoría 'Persistence' y como tipo de archivo 'Entity classes from database' y se sigue el asistente.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_G6RJcTt_Vv4/RkhBSNxrP_I/AAAAAAAAABc/o_5pLMnOmeU/s1600-h/EntityWizard_00.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_G6RJcTt_Vv4/RkhBSNxrP_I/AAAAAAAAABc/o_5pLMnOmeU/s400/EntityWizard_00.png" alt="" id="BLOGGER_PHOTO_ID_5064369562169589746" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_G6RJcTt_Vv4/RkhBg9xrQAI/AAAAAAAAABk/TPAwKNrX1gY/s1600-h/EntityWizard_01.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_G6RJcTt_Vv4/RkhBg9xrQAI/AAAAAAAAABk/TPAwKNrX1gY/s400/EntityWizard_01.png" alt="" id="BLOGGER_PHOTO_ID_5064369815572660226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;En caso que no se haya generado una unidad de persistencia, en la próxima pantalla se muestra un botón que da la posibilidad de hacerlo:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_G6RJcTt_Vv4/RkhBu9xrQBI/AAAAAAAAABs/udrm6GAHvhc/s1600-h/EntityWizard_02.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_G6RJcTt_Vv4/RkhBu9xrQBI/AAAAAAAAABs/udrm6GAHvhc/s400/EntityWizard_02.png" alt="" id="BLOGGER_PHOTO_ID_5064370056090828818" border="0" /&gt;&lt;/a&gt;Al crear la unidad de persistencia se muestra una pantalla en la que se puede elegir el proveedor de persistencia, Netbeans viene por defecto con Toplink, que para lo que se explica en este artículo sirve (en otro artículo explicaré como configurar Hibernate como proveedor de persistencia).&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_G6RJcTt_Vv4/RkhB89xrQCI/AAAAAAAAAB0/BvmaiwJaMPg/s1600-h/EntityWizard_03.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_G6RJcTt_Vv4/RkhB89xrQCI/AAAAAAAAAB0/BvmaiwJaMPg/s400/EntityWizard_03.png" alt="" id="BLOGGER_PHOTO_ID_5064370296608997410" border="0" /&gt;&lt;/a&gt;Al crear  la unidad de persistencia se genera en el nodo 'Configuration Files' el archivo persistence.xml:&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff"&gt;&lt;tr&gt;&lt;td nowrap="nowrap" valign="top" align="left"&gt;&lt;code&gt;&lt;font color="#000000"&gt;&amp;lt;?xml&amp;nbsp;version=&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;#34;1.0&amp;#34;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;encoding=&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;#34;UTF-8&amp;#34;&lt;/font&gt;&lt;font color="#000000"&gt;?&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#000000"&gt;&amp;lt;persistence&amp;nbsp;version=&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;#34;1.0&amp;#34;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;xmlns=&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;#34;http://java.sun.com/xml/ns/persistence&amp;#34;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;xmlns:xsi=&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;#34;http://www.w3.org/2001/XMLSchema-instance&amp;#34;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;xsi:schemaLocation=&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;#34;http://java.sun.com/xml/ns/persistence&amp;nbsp;http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd&amp;#34;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;lt;persistence-unit&amp;nbsp;name=&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;#34;DepositosPU&amp;#34;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;transaction-type=&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;#34;RESOURCE_LOCAL&amp;#34;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;lt;provider&amp;gt;oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider&amp;lt;/provider&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;gt;org.depositos.pojos.DepositState&amp;lt;/&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;gt;org.depositos.pojos.DepositGroupUser&amp;lt;/&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;gt;org.depositos.pojos.Deposit&amp;lt;/&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;gt;org.depositos.pojos.DepositUserRole&amp;lt;/&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;gt;org.depositos.pojos.DepositUser&amp;lt;/&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;gt;org.depositos.pojos.DepositFluid&amp;lt;/&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;gt;org.depositos.pojos.DepositGroup&amp;lt;/&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;lt;properties&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;lt;property&amp;nbsp;name=&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;#34;toplink.jdbc.url&amp;#34;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;value=&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;#34;jdbc:derby://localhost:1527/depositos&amp;#34;&lt;/font&gt;&lt;font color="#000000"&gt;/&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;lt;property&amp;nbsp;name=&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;#34;toplink.jdbc.user&amp;#34;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;value=&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;#34;depositin&amp;#34;&lt;/font&gt;&lt;font color="#000000"&gt;/&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;lt;property&amp;nbsp;name=&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;#34;toplink.jdbc.driver&amp;#34;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;value=&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;#34;org.apache.derby.jdbc.ClientDriver&amp;#34;&lt;/font&gt;&lt;font color="#000000"&gt;/&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;lt;property&amp;nbsp;name=&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;#34;toplink.jdbc.password&amp;#34;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;value=&lt;/font&gt;&lt;font color="#2a00ff"&gt;&amp;#34;depositon&amp;#34;&lt;/font&gt;&lt;font color="#000000"&gt;/&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;lt;/properties&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;lt;/persistence-unit&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#000000"&gt;&amp;lt;/persistence&amp;gt;&lt;/font&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;Como se puede deducir del archivo 'persistence.xml' se puede cambiar de base de datos simplemente cambiando el valor de las propiedades  '&lt;span style="font-weight:bold;"&gt;toplink.jdbc.url&lt;/span&gt;' y '&lt;span style="font-weight:bold;"&gt;toplink.jdbc.driver&lt;/span&gt;'.&lt;br /&gt;Con lo que tenemos ya podriamos empezar a trabajar en las clases de servicio que harán uso de las entidades generadas, pero antes habrá que configurar el entorno de desarrollo para poder utilizar las facilidades que nos proporcionan Spring y Struts2.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-531003441411136778?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/RYYRAvqgPck" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2007-05-14T16:09:29.639+02:00</app:edited><media:thumbnail url="http://4.bp.blogspot.com/_G6RJcTt_Vv4/RkhAbtxrP8I/AAAAAAAAABE/hOsFg6g2dXs/s72-c/CreateJavaDB.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2007/05/creacin-de-entidades-de-persistencia.html</feedburner:origLink></item><item><title>Una buena causa</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/N6qnXfwp3zQ/una-buena-causa.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Sun, 17 Dec 2006 09:21:38 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-748406225602086910</guid><description>Un ejemplo de buen uso de la red &lt;a href="http://www.viviendadigna.org/"&gt;'Por una vivienda digna'&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-748406225602086910?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/N6qnXfwp3zQ" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2006-12-17T18:21:38.700+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">8</thr:total><feedburner:origLink>http://www.gruposp2p.org/2006/12/una-buena-causa.html</feedburner:origLink></item><item><title>Invertir en futuro</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/JVHhOaPhTVI/invertir-en-futuro_17.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Sun, 17 Dec 2006 01:38:57 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-8685508698038234117</guid><description>Algo de lo que se puede estar seguro es que cada día que pasa hay más dispositivos electrónicos conectados a la red, la interactuación de las personas con esos dispositivos se realiza a través de aplicaciones.&lt;br /&gt;Una aplicación consiste en esencia en la representación gráfica de una información a la que se le aplica una cierta lógica y que puede estar almacenada en la máquina local o en una remota. Al final todo eso se controla con códigos escritos en algún lenguaje de programación.&lt;br /&gt;Una de las cosas que estoy mas contento de haber hecho en mi vida es haber aprendido un lenguaje de programación multiplataforma, Java. Gracias a los años de trabajo que he invertido en obtener ese conocimiento puedo programar servidores, PCs, teléfonos móviles y por la naturaleza del lenguaje (se ejecuta en una máquina virtual que te abstrae de la plataforma), tengo la seguridad de que el número y tipo de dispositivos a los que tendré acceso irá en aumento en los próximos años.&lt;br /&gt;Lo bueno de programar es que es un ejercicio que requiere pensar en positivo, se tiene que crear, y eso es algo que algunos creemos que es bueno, a mi parecer una de las mejores cosas que se pueden hacer para asegurarse un futuro.&lt;br /&gt;Algo parecido pasa con los blogs, para colaborar con otras personas es necesario que se produzca un intercambio de información y la palabra escrita es con diferencia el medio mas eficiente de intercambio de información que existe. Eso es algo que ya esta muy claro entre los internautas avanzados, un buen filtro para saber si estas delante de un profesional, el vedadero curriculum de un profesional de la red. Ahí va un consejo para todo aquel que quiera dedicarse a esto de las tecnologías de la información, aprende a bloggear.&lt;br /&gt;P.D: No intentes hacerte pasar por algo que no eres, las mentiras se cazan al vuelo. No te precipites, lee mucho sobre la materia a la que quieras dedicarte y aprende de aquellos que ya llevan tiempo trabajando en ella. Los grandes avances nunca se consiguen de la noche a la mañana, si eres paciente y constante acabarás viviendo un milagro en tus propias carnes =)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-8685508698038234117?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/JVHhOaPhTVI" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2006-12-17T10:38:57.522+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.gruposp2p.org/2006/12/invertir-en-futuro_17.html</feedburner:origLink></item><item><title>50 millones de bloggers</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/8vulVw8hymo/50-millones-de-bloggers.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Mon, 11 Dec 2006 11:33:40 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-277037929031740026</guid><description>He leido ya en varios artículos afirmar que existen mas de 50 millones de bloggers, &lt;a href="http://karmaweb.wordpress.com/2006/09/29/identity-in-the-blogosphere/"&gt;este artículo es especialmente interesante&lt;/a&gt;, saco varios datos:&lt;br /&gt;* La Blogosfera es 100 veces más grande que hace 3 años.&lt;br /&gt;* A día de hoy, la blogosfera duplica su tamaño cada 200 días.&lt;br /&gt;* Cada día se crean más de 175.000 blogs.&lt;br /&gt;&lt;br /&gt;Jamás a sido tan fácil y barato poder expresar lo que uno piensa a todo aquel que quiera escuchar, y esto es algo que, además de bueno, de forma inevitable irá a mas, ya no hay voluntad humana capaz de controlarlo, el que luche contra esta nueva forma de libertad de expresión acabará siendo engullido por el fenómeno, y el que pretenda tener alguna especie de influencia sobre la sociedad, hablo de pensadores, políticos, directivos o profesionales de prestigio, deberá tarde o temprano adaptarse a esta nueva modalidad de información si no quiere perder el espíritu del tiempo (es un consejo, no una amenaza).&lt;br /&gt;&lt;br /&gt;No hay duda, la vida siempre se abre paso y la información quiere ser libre =)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-277037929031740026?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/8vulVw8hymo" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2006-12-11T20:33:40.628+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.gruposp2p.org/2006/12/50-millones-de-bloggers.html</feedburner:origLink></item><item><title>El mundo no se va a acabar mañana</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/iQ3sF9QMIG4/el-mundo-no-se-va-acabar-maana.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Wed, 06 Dec 2006 08:09:12 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-8008438552535992304</guid><description>Pongo la mano en el fuego, en las próximas 48 horas no va a pasar nada que haga que se acabe el mundo. Iré mas lejos, el año que viene habrá primavera, verano, otoño e invierno, se jugará la liga de campeones y tambien habrá Navidad, el número de bloggers del planeta aumentará y el concepto de comunicación seguirá evolucionando, todo esto no ha hecho mas que comenzar.&lt;br /&gt;P.D: Bloggear es un ejercicio muy sano. Un blog es algo que crece y que empieza a merecer la pena después de haberle dedicado muchas horas, las prisas son muy malas consejeras.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-8008438552535992304?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/iQ3sF9QMIG4" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2006-12-06T17:09:12.543+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2006/12/el-mundo-no-se-va-acabar-maana.html</feedburner:origLink></item><item><title>Ningún proyecto basado en un discurso excluyente puede ser duradero</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/Qf7kSPVkKZA/ningn-proyecto-basado-en-un-discurso.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Sun, 03 Dec 2006 02:54:52 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-758527419036770174</guid><description>Nadie que pretenda un final feliz a un conflicto entre partes debería intentar hacerlo basándose en un discurso excluyente. Para que triunfe esa forma de hacer las cosas se debe producir una aniquilación total de la parte contraria. &lt;br /&gt;Algo asi, pensado de forma fria y sin el mas mínimo sentimiento humano es tácticamente imposible, siempre habrá alguien que escape y que en su visión de las cosas pretenda hacer justicia estando dispuesto a cualquier cosa para conseguirlo (se le habrán dado motivos para ello). Si se mira con un mínimo de humanidad, es algo tan horrible que ningún cerebro medianamente preparado debería intentarlo, la historia esta llena de ejemplos con las consecuencias que trae ese tipo de pensamiento a la gente que lo practica, aun asi, siempre habrá algún imbécil dispuesto a intentarlo, ... no hay que bajar nunca la guardia para ser capaz de ponerlo en su sitio antes de que haga daño a nadie.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-758527419036770174?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/Qf7kSPVkKZA" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2006-12-03T11:54:52.560+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2006/12/ningn-proyecto-basado-en-un-discurso.html</feedburner:origLink></item><item><title>Producto o problema</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/nM49-q0D2m0/producto-o-problema.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Sat, 02 Dec 2006 08:34:45 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-9143160054354509504</guid><description>De mi etapa de ingeniero recuerdo al dueño de una fábrica explicando como llevaba 8 años aumentando sus beneficios a pesar de que durante esos 8 años el precio del producto que vendía había descendido, lo había conseguido ahorrando hacia dentro. Si le demostrabas que la inversión del proyecto que le querías vender le producía un ahorro equivalente en menos de dos años, daba luz verde  al asunto, apartir de esos dos años aparecían los beneficios.&lt;br /&gt;De la misma forma que existen muchos tipos de médicos, existen muchos tipos de profesionales de la informática, lo importante es saber a lo que juega la persona que tienes en frente y respetarla. Los hay que buscan el producto, los que dan soporte, los que desarrollan, los que administran sistemas y los hay que tienen otro tipo de objetivos.&lt;br /&gt;En alguna ocasión he trabajado para gente cuya meta única era conseguir un producto (sin una visión muy clara ni del producto ni del problema que querían solucionar) y he conocido experiencias de personas que han participado en proyectos similares, y como no recuerdo ninguna que haya acabado bien (mas bien todo lo contrario), suelo pasar de ese tipo de historias.&lt;br /&gt;Las visiones por las que mas me gusta apostar son aquellas en las que el objetivo consiste en plantear e implementar soluciones a largo plazo a problemas que existen en un entorno perfectamente delimitado. El retorno de la inversión se produce al solucionar el problema, y si todo va bien, se puede llegar a definir una solución reutilizable en entornos similares, el ansiado producto, pero el objetivo principal no es el producto, el objetivo principal es solucionar el problema, hacer bien el trabajo.&lt;br /&gt;Cuando se pasan muchas horas delante de un ordenador escribiendo código llega un momento en que 'se ve la luz' y uno se hace consciente de que no hay ningún objetivo que no se pueda conseguir de mil formas diferentes y que intentar conseguir algo útil, único, patentable y que nadie pueda copiar no sólo es algo imposible, peor, pretenderlo es algo ridículo y cada vez que se ve a alguien defendiendo lo contrario se hace imposible evitar pensar en las horas de vuelo que le faltan al que defiende esa postura y en que algunas personas aportan mas cuando callan que cuando hablan.&lt;br /&gt;Todos hemos soñado de niño con la píldora que hacía que te aprendieses los exámenes sin necesidad de estudiartelos, hace tiempo que dejé esa búsqueda, ahora me ayuda más la visión de Picasso, prefiero que la inspiración me pille trabajando.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-9143160054354509504?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/nM49-q0D2m0" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2006-12-02T17:34:45.331+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.gruposp2p.org/2006/12/producto-o-problema.html</feedburner:origLink></item><item><title>Certificados electrónicos I</title><link>http://feedproxy.google.com/~r/GruposP2p/~3/Cg13ldIHycA/certificados-electrnicos-i.html</link><author>noreply@blogger.com (Jose J. García)</author><pubDate>Sat, 25 Nov 2006 12:02:14 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8669034992174522313.post-1065544002298656180</guid><description>Los certificados electrónicos son documentos firmados electrónicamente por una autoridad certificadora que vinculan unos datos de verificación de firma (la clave pública) a una entidad o persona. El papel de la autoridad certificadora es fundamental, ya que es la encargada de asegurar que los datos del certificado (nombre, apellidos, nif ...) corresponden a la persona que usa el certificado.&lt;br /&gt;El certificado electrónico es la clave para la comunicación segura a través de la red, entendiendo por comunicación segura aquella en la que se dan las siguientes condiciones:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;AUTENTICIDAD:&lt;/span&gt; Consiste en la seguridad de que las personas que intervienen en el proceso de comunicación son las que dicen ser con el fin de evitar suplantaciones (recordar el caso del servidor pirata simulando ser un banco).&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;CONFIDENCIALIDAD:&lt;/span&gt; Consiste en proporcionar la seguridad de que los datos permanecen ocultos a terceras personas. La confidencialidad se puede conseguir aplicando métodos criptográficos a la información que se desea proteger.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;INTEGRIDAD:&lt;/span&gt; Consiste en proporcionar la seguridad de que la información enviada no ha sido alterada.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;NO REPUDIO:&lt;/span&gt; Consiste en garantizar que una vez que el origen ha enviado el documento no pueda negar haberlo hecho.&lt;br /&gt;&lt;br /&gt;El certificado electrónico es algo que esta aqui para quedarse y su uso inteligente permitirá que en un futuro no muy lejano se pueda hacer cualquier trámite administrativo a través de la red evitando colas, viajes, papeles y pérdidas de tiempo innecesarias. Saber usarlo permitirá ahorrar tiempo y permitirá una relación mucho más directa entre el ciudadano, la administración y las empresas. &lt;br /&gt;El precio que tendrán que pagar aquellas personas que deseen aprovechar estas ventajas será el de informarse e introducir en su mente todos estos nuevos conceptos, cosa que no se debe pretender que pase de la noche a la mañana. El que pretenda entender en una sóla noche, una semana o un mes todo lo que lleva detrás un certificado electrónico se va a llevar un palo de espanto, los saltos al vacio no son muy recomendables, así es que mejor ir leyendo poco a poco información sobre los mismos, ir asimilando el discurso sin prisas ni agobios y empezar a aprovecharse de sus ventajas cuando uno se encuentre cómodo. &lt;br /&gt;El certificado es una herramienta muy potente y su mal uso implica una serie de riesgos, no es nada recomendable empezar a usarlos sin haber recibido una preparación. En el caso de una empresa, se debe estar seguro de que la persona encargada de la gestión de los mismos es alguien de plena confianza.&lt;br /&gt;En todos los años que llevo trabajando en el tema y curioseando por la red no me he encontrado a ningún experto de reconocido prestigio que recomiende el uso de este tipo de documentos en entornos con cajas negras (programas cuyos códigos fuente no esten públicamente accesibles), existen muchas razones, pero la principal es que si alguien se hace con el certificado electrónico (y la clave privada del mismo) de otra persona, puede suplantar la personalidad. Esto es algo que debe empezar a quedar claro a todas las personas que quieran usar este tipo de herramientas, es una temeridad usar certificados en máquinas que no esten muy bien administradas.&lt;br /&gt;Personalmente no pienso usar mi certificado en un sistema operativo o programa que no de la posibilidad de acceder de forma pública al código fuente del mismo. &lt;br /&gt;Desde el punto de vista de la administración pública debería ser absolutamente obligatorio poner a disposición pública todos los códigos fuente de los programas que hagan uso de los mismos, y por supuesto (a estas alturas de la película no debería ni hacer falta decirlo) no ofrecer soluciones que sólo se puedan ejecutar en entornos que controle una única empresa. Esto además de proporcionar la necesaria seguridad, traerá de la mano una reutilización del esfuerzo hecho entre las distintas administraciones y una administración pública mucho más transparente.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8669034992174522313-1065544002298656180?l=www.gruposp2p.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GruposP2p/~4/Cg13ldIHycA" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2006-11-25T21:02:14.755+01:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total><feedburner:origLink>http://www.gruposp2p.org/2006/11/certificados-electrnicos-i.html</feedburner:origLink></item><media:rating>nonadult</media:rating></channel></rss>

