Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Case 6 – One eSchKG/e-LP/e-LEF application with one signing outbox

 

Assumption

...

  • One eSchKG/e-LP/e-LEF application (message type = 10301) has to be connected to the sedex network.
  • The application uses a single signing outbox to sign PDF files by the MH.
  • One nativeApp -> Native Mode.

 

Prerequisite

 

  • One physically sedex participant (=sedex ID) is needed for the sedex adapter (T7-4-1 in the example configuration).
  • A PKCS#12 file with the X.509 signing certificate (.p12 file)
  • Open eGov BatchSigner or LocalSigner “signature.properties” file
Note
The signing process: The application adds the file “document.pdf” inside the signing-outbox directory. MH takes this file and adds a signature to it. The new file with the signature will be added to the outbox directory with the new filename “document-sig.pdf”. If this step is successfully executed the original file “document.pdf” will be moved to the processed directory.

...

Example configuration

Code Block
titleDirectory structure
/mh_examples/case6/
.
+-- application
¦   +-- inbox
¦   +-- outbox
¦   +-- processed
¦   +-- signing-outbox
+-- log
¦   +-- mh
¦   +-- sedex
+-- mh
¦   +-- install-dir
¦   ¦   +-- bin
¦   ¦   +-- conf
¦   ¦   ¦   +-- certificate.p12
¦   ¦   ¦   +-- config.xml
¦   ¦   ¦   +-- config.xsd
¦   ¦   ¦   +-- log4j.properties
¦   ¦   ¦   +-- recipientIdResolver.groovy
¦   ¦   ¦   +-- signature.properties
¦   ¦   +-- lib
¦   +-- working-dir
¦       +-- corrupted
¦       +-- db
¦       +-- sent
¦       +-- tmp
¦       ¦   +-- preparing
¦       ¦   +-- receiving
¦       +-- unknown
+-- sedex
    +-- inbox
    +-- outbox
    +-- receipts
    +-- sent

...

Code Block
languagenone
titlesignature.properties
typeOfSignature = signature
visibleSignature = true
location = Bern
reason = Genehmigt
contact = info@glue.ch
backgroundImage = 
leftPos = 100
topPos = 100
boxWidth = 80
boxHeight = 40
signOn = 0
enableTimestamping = false
tsaurl = http://tsa.swisssign.net, http://tsa-t01.admin.ch/rfc3161
tsauser =
tsapassword =

Case 7– One eSchKG/e-LP/e-LEF application with two signing outboxes

Assumption

  • One eSchKG/e-LP/e-LEF application (message type = 10301) has to be connected to the sedex network.
  • The application uses two signing outboxes to sign PDF files by the MH.
  • One nativeApp -> Native Mode.

Prerequisite

  • One physically sedex participant (=sedex ID) is needed for the sedex adapter (T7-4-1 in the example configuration).
  • Two PKCS#12 files with the X.509 signing certificates (.p12 files)
  • Two Open eGov BatchSigner or LocalSigner “signature.properties” file

 

Note
  • Signing process: In this example there’s no processed directory configured for the signing process. See case 6 for an example with a processed directory. 
  • Signing process: The application adds the file “document.pdf” inside the signing-outbox directory. MH takes this file and adds a signature to it. The new file with the signature will be added to the outbox directory with the new filename “document-sig.pdf”. If this step is successfully executed the original file “document.pdf” will no longer exist.

 

Example configuration

Image Added

Code Block
titleDirectory structure
/mh_examples/case7/
.
+-- application
¦   +-- inbox
¦   +-- outbox
¦   +-- signing-outbox1
¦   +-- signing-outbox2
+-- log
¦   +-- mh
¦   +-- sedex
+-- mh
¦   +-- install-dir
¦   ¦   +-- bin
¦   ¦   +-- conf
¦   ¦   ¦   +-- certificate1.p12
¦   ¦   ¦   +-- certificate2.p12
¦   ¦   ¦   +-- config.xml
¦   ¦   ¦   +-- config.xsd
¦   ¦   ¦   +-- log4j.properties
¦   ¦   ¦   +-- recipientIdResolver.groovy
¦   ¦   ¦   +-- signature1.properties
¦   ¦   ¦   +-- signature2.properties
¦   ¦   +-- lib
¦   +-- working-dir
¦       +-- corrupted
¦       +-- db
¦       +-- sent
¦       +-- tmp
¦       ¦   +-- preparing
¦       ¦   +-- receiving
¦       +-- unknown
+-- sedex
    +-- inbox
    +-- outbox
    +-- receipts
    +-- sent
Code Block
languagehtml/xml
titleconfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://msghandler.suis.admin.ch/xmlns/config config.xsd"
        xmlns="http://msghandler.suis.admin.ch/xmlns/config"
        version="3.0">
    <sedexAdapter>
        <participantId>T7-4-1</participantId>
        <inboxDir>/mh_examples/case7/sedex/inbox</inboxDir>
        <outboxDir>/mh_examples/case7/sedex/outbox</outboxDir>
        <receiptDir>/mh_examples/case7/sedex/receipts</receiptDir>
        <sentDir>/mh_examples/case7/sedex/sent</sentDir>
    </sedexAdapter>
    <messageHandler>
        <!-- In diesem Pfad mssen die MH Basis-Verzeichnisse sein: 
        corrupted, tmp, unkown, etc. -->
        <workingDir dirPath="/mh_examples/case7/mh/working-dir"/>
        <!-- Wo starten relative Pfade -->
        <baseDir dirPath="/mh_examples/case7/application"/>
        <!--  wie oft wird die sedex inbox geprft -->
        <sedexInboxDirCheck cron="0/30 * * * * ?" />
        <!--  wie oft wird das sedex receipts directoty geprft -->
        <sedexReceiptDirCheck cron="0/30 * * * * ?" />
        <!-- jede *outbox kann Wert berschreiben -->
        <defaultOutboxCheck cron="0/30 * * * * ?" />
        <webserviceInterface host="localhost" port="18080"/>
        <statusDatabase dirPath="/mh_examples/case7/mh/working-dir/db" 
        dataHoldTimeInDays="2" resend="true"/>
        <protocol createPerMessageProtocols="false"/>
    </messageHandler>
    <nativeApp participantId="T7-4-1" > <!-- die lokale sedexId -->
        <outbox dirPath="outbox" msgType="10301"> 
            <recipientIdResolver filePath="/mh_examples/case7/mh/install-dir/conf/recipientIdResolver.groovy" method="resolve" />
            <signingOutbox dirPath="signing-outbox1" signingProfilePath="/mh_examples/case7/mh/install-dir/conf/signature1.properties">
                <certificate filePath="/mh_examples/case7/mh/install-dir/conf/certificate1.p12" password="secret"/>
            </signingOutbox>
            <signingOutbox dirPath="signing-outbox2" signingProfilePath="/mh_examples/case7/mh/install-dir/conf/signature2.properties">
                <certificate filePath="/mh_examples/case7/mh/install-dir/conf/certificate2.p12" password="secret"/>
            </signingOutbox>
        </outbox>
        <inbox dirPath="inbox" msgTypes="10301"/>
    </nativeApp>
</config>

 

recipientIdResolver.groovy: same as in case 1

 

signature1.properties and signature2.properties: See case 6