From 50de68f6ff08e7fa331d3d7fa7edfdc8f978f6d6 Mon Sep 17 00:00:00 2001 From: "Alfonso E.M" Date: Mon, 3 Jun 2019 10:13:39 +0000 Subject: [PATCH] Update README.md --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 261c4c7..a7f87d4 100644 --- a/README.md +++ b/README.md @@ -11,26 +11,26 @@ https://github.com/alfem/FireFirma/releases (Diagrama realizado con [Draw.io](https://www.draw.io/?lightbox=1&highlight=0000ff&edit=_blank&layers=1&nav=1&title=Componentes%20FireFirma#R7Vttc5s4EP41nrn7EA9CvPlj7KR3c9dOO5PLXHvfZBBGDUYU5MS%2BX38SiBcBdnBsg9O5pjO2FgnE7rPP7kryBC7W298SFAefqIfDia552wm8m%2Bg6AA7kH0KyyyVWIVglxJOdKsED%2BRdLoSalG%2BLhVOnIKA0ZiVWhS6MIu0yRoSShL2o3n4bqU2O0wi3Bg4vCtvRv4rEglzq6Xcl%2Fx2QVFE8G1iy%2FskZFZ%2FkmaYA8%2BlITwfsJXCSUsvzbervAoVBeoZd83Ic9V8uJJThifQaQxWr9%2BHD3j%2FO4XN6kxo%2Fvf34MbqB8j2cUbuQbT3Qr5Dece%2BSZf12JrwucMOK7fP7FxWVSXCsk%2FMG1ER03ud0w%2BoEka7RvRKYktis0z%2FUVi68RZfxj%2FhIQhh9i5ArZCwcblwVsHfIWEBNC7tMqoZvI%2B7xhIYmwlHsoefrMRxEmAKhNNbN81jN%2FK7zdq01Q2oiDG9M1ZsmOdykGmNKsEtemI9svNZRIUVAHiCaFSAJzVd66sh3%2FIs13hCmB0TLlH%2BgZtfSaKQl7Uj%2BvqPUMmoJWQ1Om2dIU0DtUZV1KU9BsKQV73OtlkyYsoCsaofC%2Bks4rtWm8VfX5SGkslfUdM7aTFIY42lVV4i1hXzMM6qZsfqtdutvKW2eNnWzkExWzO6x9%2FjJ0k7j4ED4ke6Jkhdkh7cBucyY4RIw8qxM5u20MfRTbRHzuX%2BuNb5mlzKJZWSdrjWgeMBvTPKDFMZzSsU%2B3Lau9QiwojfNw7ZOtsNzcJ2G4oCFNsuHQQ9jxXS5PWUKfcO2K5Tp46V%2BGm4w2iXdSUyk8P%2F7%2Fj8dvs6SpGBLMxg7HujVqkKlFGElje2PMPvKDw5Gf2Zf8zDHJz2z5pvAhP%2FehM9OfiR3P6KI%2FR19CyzqT09gN%2BrM7%2BE8b1G2OqEdInQBfpbu8MD2BLx%2FTDUrIEYz7rvjTBioUIBybQJ0%2BSDjBnicMreEvPQKAp%2BFPcE1CPCSWQ%2FqOuU9jNFnAyRzQEKU%2FKXRnKnLLunG80D9yfVkvL8tofzj010qdsigdqO55J4VPu%2FK5Gjq6DdfIFW5%2BO4uOoqNBueikB5aM65KMz2D%2FFz2Z9dwdJzEPJz2YL%2Ffhj8vXqPAMrAcapWu5Yl7P3UAX75kXW4HUr9dHrsrjrjPBaCS43f2HsNFFh74rJ7eAPTWvzs3bdfB7cpEjQpxfXx57Ayp%2Fmcb%2B9tefFJs6UJHZuXgwLDIN0NLhgIl38f2oNbcbXgfxuKksvBnWbHI4%2F85aX3BCuN4ELs6elDt9k3J91KS81xpBSJYp9Rl9iuA03RveGrgZepfUaCzF6WbPrYiL7ZLq%2Bysen%2FKXEmcuilVJ68eG5mqE8%2ByvLso1HANw80TYDUs2KVPtkN%2FuSgxRKnmn6nc0O4BZT5BHaeo%2BLcn1YlzXVNWWKzDjYRx26LYZQSLvVhwkEoE4RGlK3G76V7dc9MP8f3aubiu9plSzQ6eFrDdTyyd8oSRz%2FoK3jAZvOQ1b5fOXoypzvXojYOnqjfJY1LoRtw3a1brFokN6xIQtswGj%2FI4VqEqdnnDiRLsUzuyeeQbvqSQZ7yXB2LPhNxC4bW0KgQYNw9Ft07GgihzbnJaXdM1%2BK%2B5n01ntn6N6gQ2Uq7NhfGI2hE%2BMs0FeOQSEikuITFzXR%2FYLCE%2Fzi2HybtgOm59QhL%2FzWpzXuFq2EBUnlFGRIYoJ5IU0vBWPFf9HTkQguLZkG3ZVMvsDRERFJT%2F3UBqUausGuaYrGzu8LrWdt2C8dnoRwFoEAlNNg4dDEG9c0GOMng6Tn3QeLZKogLObSyB9o0Vjr9Nu7mGeKSCYuvIYUz1afqF40K5z7vASR1mhSSKXeCRp%2BUS5RIbCkG7Y6%2BwR15AoB9XAOY9pShihkZ5HCOdchY%2BiTmP0mtLoykdbNSV%2FQcQ7bVIkWN1924KrmEtKUobFSiqfrRbRIkSUR0dPXR%2B9auODVtXbNr41qPG7it5c4QEolC1s0zwdWl3tWo%2Bn65hHpYiJLWEtwi5OxW5SmutK4ChEuc3FPbX7ELsskXu5HFSZl0d1UGhCh%2BUh1ekQu0gBY%2BJnRTJNIel05fHPLlVc30YWByhT0a4eHZQpQ%2F2coRSl4kxOtOICs2r9leXTN7q2x6so9wk%2FzJKRgHgep%2Blmcn4G17EaeVrnT0dmHb4DiuPARzgPb1Y%2FxsqDWvWTNnj%2FHw%3D%3D)) -Para poder realizar firmas electrónicas en páginas web usando la aplicación del Ministerio de Hacienda "AutoFirma", hay que poner de acuerdo un buen puñado de componentes: +Para poder realizar firmas electrónicas en páginas web usando la aplicación del Ministerio de Hacienda *AutoFirma*, hay que poner de acuerdo un buen puñado de componentes: ### El navegador web: -AutoFirma funciona con Chrome y Firefox. Yo me quedo con este último porque lo conozco mejor y puedo indagar en sus tripas. Cada versión nueva trae 'sorpresas' y es normal que si firmas con una versión, con la siguiente ya no. Casi siempre es porque el método de almacenar certificados cambia o porque se vuelve más exigente/quisquilloso con la seguridad. Pero este navegador... firma. +AutoFirma funciona con Chrome y Firefox. Yo me quedo con este último porque lo conozco mejor y puedo indagar en sus tripas. Cada versión nueva trae *sorpresas* y es normal que si firmas con una versión, con la siguiente ya no. Casi siempre es porque el método de almacenar certificados cambia o porque se vuelve más exigente/quisquilloso con la seguridad. Pero este navegador... firma. ### AutoFirma: -La aplicación desarrollada por el Ministerio de Hacienda para evitar los applets en Java y poder firmar documentos de forma independiente, como un programa más de tu escritorio. El código es un poco 'meh', pero al menos es software libre, está publicado en GitHub y se puede comprobar como funciona. Ojo con la versión de Java que requiere. Si tu sistema operativo lleva de serie una versión de Java demasiado moderna, es muy posible que AutoFirma no funcione. La última versión de AutoFirma (1.6.5) va bien con Java 11. Si tienes la anterior, necesitarás Java 8. +La aplicación desarrollada por el Ministerio de Hacienda para evitar los applets en Java y poder firmar documentos de forma independiente, como un programa más de tu escritorio. El código es un poco *meh*, pero al menos es software libre, [está publicado en GitHub](https://github.com/ctt-gob-es/clienteafirma) y se puede comprobar como funciona. Ojo con la versión de Java que requiere. Si tu sistema operativo lleva de serie una versión de Java demasiado moderna, es muy posible que AutoFirma no funcione. La última versión de AutoFirma (1.6.5) va bien con Java 11. Si tienes la anterior, necesitarás Java 8. ### Manejador de protocolo afirma: -Cuando una web quiere que firmes algo, te manda una url que empieza por 'afirma://'. Como esta url no es estándar, el navegador no sabrá que hacer con ella. Es necesario que tengamos instalado un pequeño fichero que indica la relación entre estas urls y el programa AutoFirma. Normalmente estará en /usr/share/applications/afirma.desktop y contendrá una línea que dice algo como MimeType=x-scheme-handler/afirma; -Puedes comprobar que esta relación funciona tecleando en el navegador una dirección afirma://meloinvento. Debería aparecer una ventana ofreciéndo abrir AutoFirma. +Cuando una web quiere que firmes algo, te manda una url que empieza por *afirma://*. Como esta url no es estándar, el navegador no sabrá que hacer con ella. Es necesario que tengamos instalado un pequeño fichero que indica la relación entre estas urls y el programa AutoFirma. Normalmente estará en */usr/share/applications/afirma.desktop* y contendrá una línea que dice algo como MimeType=x-scheme-handler/afirma; +Puedes comprobar que esta relación funciona tecleando en el navegador una dirección *afirma://meloinvento*. Debería aparecer una ventana ofreciéndo abrir AutoFirma. ### Almacén de Certificados de AutoFirma: -Una vez que el navegador ha reconocido la url y ha llamado al programa AutoFirma, éste se queda calladito trabajando 'en background' e intenta abrir un canal seguro para comunicarse con el navegador. Este canal seguro depende que de ambas partes confíen en la otra y para eso usan un certificado nuevecito que se genera durante la instalación de AutoFirma. El certificado debe estar disponibile para la aplicación Autofirma, que lo buscará en /usr/lib/AutoFirma/autofirma.pfx, y para Firefox, que lo buscará en su propio almacén de Certificados. Si no coinciden, porque tenemos más de uno, porque la instalación falló o la hemos hecho varias veces, o vete tú a saber, no podremos firmar desde la web. El navegador desistirá al cabo de unos segundos y posiblemente mostrará algún error. +Una vez que el navegador ha reconocido la url y ha llamado al programa AutoFirma, éste se queda calladito trabajando 'en background' e intenta abrir un canal seguro para comunicarse con el navegador. Este canal seguro depende que de ambas partes confíen en la otra y para eso usan un certificado nuevecito que se genera durante la instalación de AutoFirma. El certificado debe estar disponibile para la aplicación Autofirma, que lo buscará en */usr/lib/AutoFirma/autofirma.pfx*, y para Firefox, que lo buscará en su propio almacén de Certificados. Si no coinciden, porque tenemos más de uno, porque la instalación falló o la hemos hecho varias veces, o vete tú a saber, no podremos firmar desde la web. El navegador desistirá al cabo de unos segundos y posiblemente mostrará algún error. ### Almacén de Autoridades de Certificación: -Firefox puede usar los certificados almacenados en varios sitios: en su propio almacén (que viene de serie), en el del sistema operativo, en el del usuario, en una tarjeta criptográfica, en un pendrive... etc. Lo importante es que debe encontrar el certificado de AutoFirma o no podrá comunicarse con la aplicación. El instalador oficial de AutoFirma coloca este certificado en el directorio del usuario. Suele funcionar, pero si se crea un nuevo usuario o un nuevo perfil después de haber hecho ésta instalación, estos no podrán firmar nada. Parece por tanto preferible instalar el certificado de Autofirma en el propio sistema operativo, de forma que esté disponible para todos los usuarios y perfiles, actuales y futuros. Para eso hay que 'engañar' un poco a Firefox cambiando la librería que usa para acceder a sus Autoridades de Certificación (libnssckbi.so) por otra que usa las Autoridades del sistema (p11-kit-trust.so). +Firefox puede usar los certificados almacenados en varios sitios: en su propio almacén (que viene de serie), en el del sistema operativo, en el del usuario, en una tarjeta criptográfica, en un pendrive... etc. Lo importante es que debe encontrar el certificado de AutoFirma o no podrá comunicarse con la aplicación. El instalador oficial de AutoFirma coloca este certificado en el directorio del usuario. Suele funcionar, pero si se crea un nuevo usuario o un nuevo perfil después de haber hecho ésta instalación, estos no podrán firmar nada. Parece por tanto preferible instalar el certificado de Autofirma en el propio sistema operativo, de forma que esté disponible para todos los usuarios y perfiles, actuales y futuros. Para eso hay que 'engañar' un poco a Firefox cambiando la librería que usa para acceder a sus Autoridades de Certificación (*libnssckbi.so*) por otra que usa las Autoridades del sistema (*p11-kit-trust.so*). ### Almacén de Certificados del Usuario: -Por último necesitaremos el Certificado de la persona que va a firmar, y que se carga desde Firefox con el Menú->Preferencias->Privacidad y Seguridad. Abajo a la derecha hay un botón "Ver Certificados" que abre una nueva ventana. Eliges la solapa "Sus Certificados" e importas tu certificado personal. +Por último necesitaremos el Certificado de la persona que va a firmar, y que se carga desde Firefox con el *Menú->Preferencias->Privacidad y Seguridad*. Abajo a la derecha hay un botón *Ver Certificados* que abre una nueva ventana. Eliges la solapa *Sus Certificados* e importas tu certificado personal.