Proyecto

General

Perfil

Plugin Hotfolder Firma

Información

Autor Teresa Quílez
Sitio Web http://www.adapting.com
Repositorio source:Hotfolder_Firma
Código fuente http://svn-community.adapting.com:8080/svn/Community/Plugins/Hotfolder_Firma
Versión Actual v1.0
Compatible con Hotfolder v2.0.3.0

Resumen

Este plugin se encarga de firmar los documentos en función del valor de un metadato. El plugin permite gestionar varias firmas y emplear la firma que en el fichero de configuración contiene el valor del metadato para ese documento.
Para poder emplear este plugin es necesario tener en la versión de abox el webservice http://planificacion.adapting.com:81/redmine/projects/plugins-metadatos-acciones-guardas-y-suscripcion-a-eventos/wiki/WebService-Field, con el cual se obtiene el contenido del metadato que indica que firma usar.

Notas de instalación

Descargue el código fuente del plugin y compílelo usando Visual Studio 2010.
Copiar las dlls que genera el proyecto, Adapting.Hotfolder.Extensions.dll, Adapting.One.Tools.Signature.dll y log4net.dll, que están en la carpeta /bin y ubicarlas en la carpeta extensions dentro de la carpeta de instalación del hotfolder que normalmente esta ubicada en C:\Program Files (x86)\Adapting\HotFolder Abox\extensions

Copiar el fichero app.config que genera el proyecto y ubicarlo en la carpeta raiz del hotfolder C:\Program Files (x86)\Adapting\HotFolder Abox, cambiandole el nombre a HotFolder.exe.config

Guía de uso

El plugin tiene 2 comportamientos diferentes en función del valor dado a multiplesign. Si multiplesign es true, se permiten configurar varios certificados. Si el valor es false sólo se configura un único certificado.
En el caso de configurar varios certificados, la terminación de los parámetros certFile, certPassword, serialNum,productName, signerCod, signatureReason, signatureContact, signatureLocation y signatureVisible debe ser el valor del contenido del metadato. En el caso en que lo utilicé el valor que me indicaba el certificado a emplear era el metadato CIF para el tipo documental Facturas. El hotfolder se encarga de adjuntar el fichero principal, ya que el alta de los documentos se realiza por otro proceso, por lo que en el momento de procesar el fichero de la factura ese dato ya existía.

A continuación se muestra un ejemplo de fichero de configuración:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="SOAP" closeTimeout="00:01:00" openTimeout="00:01:00" 
            receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" 
            bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" 
            maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" 
            messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" 
            useDefaultWebProxy="true">
          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" 
              maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None" 
                realm="" />
            <message clientCredentialType="UserName" algorithmSuite="Default" />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <client>
    <!--Dirección del Web Service WebService-Field-->
      <endpoint address="http://rodi-document-local.adapting.com/Field-api.svc/soap" 
          binding="basicHttpBinding" bindingConfiguration="SOAP" contract="RodiFieldApi.ILegacyRodiFieldApi" 
          name="SOAP" />
    </client>
  </system.serviceModel>
  <appSettings>
    <!--Indica si el hotfolder gestiona una única firma o varias -->
    <add key="multiplesign" value="true" />

    <!--Configuracion de la firma cuando el valor de multiplesign es false -->
    <add key="certFile" value="C:\Archivos de programa\Abox\2012\rodi_aran.pfx"/>
    <add key="certPassword" value="123"/>
    <add key="serialNum" value=""/>
    <add key="productName" value="Abox Document"/>
    <add key="signerCod" value=""/>
    <add key="signatureReason" value="ARAN"/>
    <add key="signatureContact" value="Contacto"/>
    <add key="signatureLocation" value=""/>
    <add key="signatureVisible" value="false"/>

    <!--Configuracion de una firma para el CIF B12345678-->
    <add key="certFileB12345678" value="C:\Archivos de programa\Abox\2012\firma1.pfx"/>
    <add key="certPasswordB12345678" value="111"/>
    <add key="serialNumB12345678" value=""/>
    <add key="productNameB12345678" value="Abox Document"/>
    <add key="signerCodB12345678" value=""/>
    <add key="signatureReasonB12345678" value="ABOX"/>
    <add key="signatureContactB12345678" value="Contacto"/>
    <add key="signatureLocationB12345678" value=""/>
    <add key="signatureVisibleB12345678" value="false"/>

    <!--Configuracion de una firma para el CIF B11111111-->
    <add key="certFileB11111111" value="C:\Archivos de programa\Abox\2012\firma2.pfx"/>
    <add key="certPasswordB11111111" value="111"/>
    <add key="serialNumB11111111" value=""/>
    <add key="productNameB11111111" value="Abox Document"/>
    <add key="signerCodB11111111" value=""/>
    <add key="signatureReasonB11111111" value="ABOX"/>
    <add key="signatureContactB11111111" value="Contacto"/>
    <add key="signatureLocationB11111111" value=""/>
    <add key="signatureVisibleB11111111" value="false"/>  

    <!-Usuario con el cual se conecta al web service -->
    <add key="usuario" value="test"/>

    <!--Password con el cual se conecta al web service -->
    <add key="password" value="aboxtest"/>
    <!--Indica una vez procesado el fichero se reubica en otro directorio para poder realizar otro proceso -->
    <add key="directoryarchive" value="D:\SpainRefund_HotFolder\OtroArchivo"/>

     <!--Metadato a buscar -->
    <add key="Field" value="08.02"/>
  </appSettings>
</configuration>

Quedaría pendiente encriptar el fichero de configuración.

Historico

Volver al inicio
Agregar imagen desde el portapapeles (Tamaño máximo: 10 MB)