Introducción
Verificación del entorno
- Thunderbird: se buscarían en la carpeta $HOME/.thunderbird. Si no solemos usar el programa como es mi caso ya que suelo usar correos web, deberíamos asegurarnos de desinstalarlo y de eliminar esa carpeta para evitar que el LibreOffice vaya a buscar el certificado ahí.
Para desinstalar el Thunderbird y eliminar el perfil que haya creado en el home si alguna vez lo hemos abierto, lo podemos hacer en la terminal con los comandos:$sudo apt purge thunderbird
$rm -rf ~/.thunderbird - Mozilla: normalmente no existe.
- Firefox: La ruta del perfil de Firefox suele ser algo así como: $HOME/.mozilla/firefox/ymsag6g9.default. En mi caso, esta es la opción que elegí para almacenar el certificado.
- Default: es la ruta por defecto que en el momento de hacer este artículo aún no he averiguado a que se refiere.
En esta pantalla eliminamos lo correspondiente a la Sub Main e introducimos el código de dos funciones que componen el script y que nos permitirán averiguar el almacén de certificados que usará LibreOffice para buscar el certificado digital para la firma. El código es:
Sub MozProfile
Dim oMozBootstrap as Object
Dim sMsg as String
Dim sDefault as String
oMozBootstrap = createUnoService( "com.sun.star.mozilla.MozillaBootstrap" )
sMsg = "OpenOffice.org Mozilla Profile Detection" + Chr$(10) + Chr$(10)
CheckMozProfile( oMozBootstrap, "Thunderbird", com.sun.star.mozilla.MozillaProductType.Thunderbird, sMsg, sDefault )
sMsg = sMsg + Chr$(10)
CheckMozProfile( oMozBootstrap, "Mozilla", com.sun.star.mozilla.MozillaProductType.Mozilla, sMsg, sDefault )
sMsg = sMsg + Chr$(10)
CheckMozProfile( oMozBootstrap, "Firefox", com.sun.star.mozilla.MozillaProductType.Firefox, sMsg, sDefault )
sMsg = sMsg + Chr$(10)
CheckMozProfile( oMozBootstrap, "Default", com.sun.star.mozilla.MozillaProductType.Default, sMsg, sDefault )
sMsg = sMsg + Chr$(10)
sMsg = sMsg + "The first detected path will be used for certificates:" + Chr$(10)
if Len( sDefault ) > 0 Then
sMsg = sMsg + sDefault
else
sMsg = sMsg + "No profile found!"
end if
sMsg = sMsg + Chr$(10) + Chr$(10) + "You can overwrite the path with environment variable MOZILLA_CERTIFICATE_FOLDER" + Chr$(10) + " "
MsgBox sMsg,64
End Sub
Sub CheckMozProfile( oMozBootstrap, TypeName, TypeID, sMsg, sDefault )
Dim sProfile as String
Dim sPath as String
sMsg = sMsg + TypeName + ":" + Chr$(10) + "Profile name: "
sProfile = oMozBootstrap.getDefaultProfile(TypeID)
if Len( sProfile ) > 0 Then
sMsg = sMsg + sProfile
sPath = oMozBootstrap.getProfilePath(TypeID, sProfile )
sMsg = sMsg + Chr$(10) + "Profile path: " + sPath + Chr$(10)
if Len( sDefault ) = 0 Then
sDefault = sPath
end if
else
sMsg = sMsg + "NOT FOUND" + Chr$(10)
endif
End Sub
Vemos que en la sección LibreOffice -> Seguridad hay una parte que pone Ruta del certificado. Le damos al botón asociado (el que está marcado con una elipse roja) y se nos abrirá un cuadro de diálogo donde podremos seleccionar la ruta de almacenamiento de los certificados entre las que aparecen en la lista:
Firmado documentos en LibreOffice
Nota
Podría ocurrir que al firmar mostrara el mensaje de que la firma no se pudo validar. Yo usé un certificado de la FNMT, Fábrica Nacional de Moneda y Timbre, y resulta que en el navegador Firefox, los certificados raíces no tenían marcados los checkbox de la confianza. Basta con marcarlos y volver a reiniciar el LibreOffice para que ya salga el mensaje de que la firma es válida.
Firma de documentos PDF
Además de poder firmar documentos realizados en LibreOffice, ya sea Writer, Calc, Draw o Impress, es posible también firmar documentos en formato PDF que ya existan en nuestro sistema.
Si se fijaron durante el ejemplo anterior, aparte de la opción Firmas digitales... al abrir el submenú Firmas digitales aparecía otra opción que se llamaba Firmar PDF existente.
La firma del documento PDF es tan sencilla como seleccionar esa opción y, en el cuadro de diálogo que nos aparece, seleccionar el documento PDF que vamos a firmar. Una vez seleccionado, nos aparece el mismo cuadro de diálogo para escoger el certificado que en el ejemplo anterior. Lo seleccionamos, le damos a Firmar y, listo, el PDF estará firmado.
Comentarios
Publicar un comentario