CWA2 Tools specification Tool 1 .................................................................................................................................. 1 Functional description ..................................................................................................... 1 Parameters ....................................................................................................................... 1 Tool 2 .................................................................................................................................. 2 Functional description ..................................................................................................... 2 Parameters ....................................................................................................................... 3 Example configuration .................................................................................................... 3 Tool 3 .................................................................................................................................. 4 Functional description ..................................................................................................... 4 Parameters ....................................................................................................................... 4 Authentication file .............................................................................................................. 5 Remark : all tools will operate for subcontainers with the subcontainer approach named during recent discussions « Alternative 2 » Tool 1 Functional description V.2 V.2.1 V.2.2 V.2.3 V.2.4 V.2.6 V.2.7 Tool1: Extraction of files in a submission container into a directory - standalone command line tool - decryption of a submission container (if applicable) - signature verification of a submission container (if applicable) - decompression - header XML validation - fetch of data from the header instance verification of presence of all announced files verification if the signature used on the package is registered for the entity marked in the header file as an authorized signature of the technical sender in the authenticationfile - if one of the steps above is not successful generation of a 'failed-processing' containerfeedback package and drop into a given 'backtransport' directory Parameters Parameter -p filename -d directory -b directory Default . (=present directory) . (=present directory) Description Use “filename” as input package. The tool should automatically recognize if it is facing a fully encrypted, a signed-only or a compressed-only package and operate only on the layers applicable Directory into which the data will be unpackaged 'back-transport' directory -f Not set -a authenticationfile -k filename -p password -od alias -cs alias -ce alias -os alias Tool 2 Functional description Feedback: in case of the reception of a submission package, this flag will not be set and a header file must exist in the package. In case of the reception of a feedback package (e.g. NSA receives feedback from EBA or EIOPA), this parameter will be set and no header will be part of the package Authenticationfile: a file that contains identifiers of all counterparts and that associates to each identifier one (or more) aliases of certificates. This will make sure that no entity integrated into the package exchange can behave as if it were another entity integrated into the package exchange (they all are allowed to send “their” data only) Use “filename” as keystore Keystore “password” to gain access to the content of the keystore (all certificates & private keys) Alias to own decryption private key for decrypting the submission package .If this parameter is not given, the package will be considered “signed only” (or in absence of –cs parameter even “compressedonly”) Alias to counterpart signature certificate in the keystore for verifying the signature on the submission package. If this parameter is not given, the package will be considered “compressed-only” and generate an error message if this were to have a different structure. If –od parameter is given but –cs parameter is not given, an error message will be issued “A container cannot be encrypted without being signed – please correct your parameters –od and -cs” Alias to counterpart encryption certificate in the keystore for encrypting the feedback package. If this parameter is not given, an encryption will not be made Alias to own signature private key for signing the feedback package .If this parameter is not given and –ce is not given either, neither encryption nor signature will be applied to the resulting package. If –ce parameter is given but –os parameter is not given, an error message will be issued “A container cannot be encrypted without being signed – please correct your parameters –os and -ce” V.3 V.3.1 V.3.2 V.3.3 Tool2: Evaluation of files (from a submission container) in a source directory - standalone command line tool - validation of instances using a free validator & potential container taxonomy (the launch parameters should be easily configurable – see chapter “Example configuration”) - generation of instance feedback files for all instances - generation of a 'successful-processing' containerfeedback package and drop into a given 'backtransport' directory Parameters Parameter -d directory Default . (=present directory) -b directory -k filename -p password -ce alias -os alias Description Directory in which the data instances reside 'back-transport' directory Use “filename” as keystore Keystore “password” to gain access to the content of the keystore (all certificates & private keys) Alias to counterpart encryption certificate in the keystore for encrypting the feedback package. If this parameter is not given, an encryption will not be made Alias to own signature private key for signing the feedback package .If this parameter is not given and –ce is not given either, neither encryption nor signature will be applied to the resulting package. If –ce parameter is given but –os parameter is not given, an error message will be issued “A container cannot be encrypted without being signed – please correct your parameters –os and -ce” Example configuration <add key="validate.instance.error.mode" value="exe"/> <add key="validate.instance.error.java.applicationpath" value="C:\XBRL_ROOTv2_PREPROD\java\bin"/> <add key="validate.instance.error.java.mainclass" value="XbrlValidate"/> <add key="validate.instance.error.java.classpath" value="../lib/xsdlib.jar;../lib/db2jcc.jar;../lib/db2jcc_license_cu.jar;../lib/dom.jar;../lib/jax b-api.jar;../lib/jaxb-impl.jar;../lib/jaxb-libs.jar;../lib/jaxpapi.jar;../lib/jdic.jar;../lib/ojdbc14.jar;../lib/org-jdesktoplayout.jar;../lib/relaxngDatatype.jar;../lib/sax.jar;../lib/saxon.jar;../lib/swing-layout1.0.jar;../lib/xalan.jar;../lib/XBRLProcessorSDK.jar;../lib/xdb.jar;../lib/xercesImpl.jar;../li b/xml-apis.jar;../lib/xmlparserv2.jar;../properties;../classes"/> <add key="validate.instance.error.exe.path" value="C:\Program Files\Arelle-2013-0112\arelleCmdLine.exe"/> <add key="validate.instance.error.exe.arguments" value="-v -internetConnectivity=offline --logLevel=error --formula=none --uiLang=EN -f [INSTANCE]"/> Tool 3 Functional description V.4 V.4.1 V.4.2 V.4.3 V.4.4 Tool3: Creation of a container (submission or feedback) using files in a directory - standalone command line tool - creation of an adequate header file - compression - signature (if applicable) - encryption (if applicable) Parameters Parameter -d directory -f Default . (=present directory) Not set -s signedpackagedirectory ./SignedSubContainers -f fullpackagedirectory ./FullSubContainers -k filename -p password -ce alias -os alias Description Directory in which the data to be packaged reside Feedback: in case of the creation of a submission package, this flag will not be set and a header file will be generated. In case of the creation of a feedback package, this flag will be set and no header file needs to be generated All files in this directory will be considered to be signed sub-packages and will be added as such to the container All files in this directory will be considered to be fully encrypted sub-packages and will be added as such to the container. Only relative directories should be used here; this parameter defines at the same time the directory in which to fetch the subpackages as the destination folder (structure) in which the subcontainers will be placed in the .zip file Use “filename” as keystore Keystore “password” to gain access to the content of the keystore (all certificates & private keys) Alias to counterpart encryption certificate in the keystore for encrypting the package. If this parameter is not given, an encryption will not be made Alias to own signature private key for signing the package .If this parameter is not given and –ce is not given either, neither encryption nor signature will be applied to the resulting package. If –ce parameter is given but –os parameter is not given, an error message will be issued “A container cannot be encrypted without being signed – please correct your parameters –os and -ce” Authentication file It should have any format (XML, csv, …) and comprise the following data : Ident ifier Identifie rType ABC DE ABC DE FSD FAS DF LEI LEI LEI IssuingAu thority IssuingA uthorityC ountry Issuing Authorit yURI Issue Type Date Encry ption Signat ure Signat ure Alias <aliasencABCDE> <aliassigABCDE> <aliassigFSDFASDF>