Paramétrage EBICS TS

ETEBAC est un logiciel de transmission d'information entre une entreprise et sa banque par Internet. L'utilisation du logiciel ETEBAC nécessite une connexion internet et la transmission s'effectue en mode ETEBAC 3 via le réseau Transpac.

Les solutions EBICS (Electronic Banking Internet Communication Standard) et EBICS TS (EBICS Transport et Signature) reposent sur un protocole de communication sécurisé permettant l'échange de fichiers entre des clients et des établissements bancaires, dans les 2 sens (client vers banque et banque vers client), via une connexion IP (Internet). Elle s'impose comme la solution industrielle de remplacement des protocoles français de télétransmission ETEBAC 3 et 5, en vigueur depuis les années 80.

Le protocole EBICS est en particulier destiné à l'acheminement d'instructions de paiements européens (SEPA) mais aussi nationaux (VO, LCR, …) ainsi que des restitutions clientèles (extraits de comptes, …).

EBICS a été conçu par le ZKA (équivalent allemand du CFONB). La version 2.4.1 d'EBICS constitue la première version commune Franco-Allemande. C'est cette version qui est mise en œuvre dans Divalto Règlements.

Avec EBICS T, le donneur d'ordre de paiement transfère ses fichiers par le canal EBICS et les valide par un autre canal (fax, parapheur électronique, …).
Avec EBICS TS, les fichiers sont signés numériquement avec un certificat électronique contenu dans une clé personnelle (ou token) avant d'être transférés à la banque.

Liaison bancaire : Le paramétrage Ebics T - Ebics TS

EBICS est un protocole sur IP, utilisant des messages XML véhiculés par le standard HTTPS. EBICS utilise les standards RSA, AES et X.509 pour ses aspects cryptographiques.
EBICS utilise trois paires de clés RSA :

  • la clé de signature pour créer la signature électronique du fichier d'ordre,

  • la clé de chiffrement, pour transmettre la clé AES ayant servi pour chiffrer le fichier d'ordre (on a donc un chiffrement hybride),

  • la clé d'authentification, pour signer le message XML EBICS.

L'implémentation française utilise des certificats X.509 pour la gestion de ces trois paires de clés.
EBICS permet aussi bien de transmettre des fichiers XML comme ceux utilisés par SEPA que les fichiers des anciens formats fixes. Avant d'être transmis, un fichier d'ordre est zippé, chiffré, puis encodé en Base64. Le résultat est ensuite découpé en segments de 1 Mo maximum, et chacun de ces segments est inséré dans un message XML.
La transaction EBICS se fait toujours à l'initiative du client, que ce soit dans le sens du client vers la banque (virements, prélèvements...) ou dans le sens de la banque vers le client (relevés de compte...).

Paramètres Généraux Ebics T.

Dans le protocole Ebics, les échanges de données sont matérialisés par des flux XML. Afin de permettre un contrôle et la validation de ces flux, les schémas XSD décrivant ces derniers sont installés par le runtime.
Ces schémas doivent impérativement se trouver dans un sous répertoire des certificats nommé XSD.
Le sous répertoire XSD doit être organisé comme suit :

  • Un sous répertoire H000 contenant :

  • Ebics_hev.xsd

  • Un sous répertoire H003 contenant :

  • Ebics.xsd

  • Ebics_keymgmt_request.xsd

  • Ebics_keymgmt_response.xsd

  • Ebics_orders.xsd

  • Ebics_response.xsd

  • Ebics_types.xsd

  • Xmldsig-core-schema.xsd

  • Un sous répertoire S001 contenant

  • Ebics_signatures.xsd

La mise en œuvre d'Ebics nécessite que les fichiers ci-dessous soient présents dans le répertoire \divalto\sys :

  • Dhzip.dll

  • Dhzip.dhop

  • DhOpenSSl.dll

  • DhOpenSSL.dhop

  • DhOpenSSL.certif.pem

  • DhOpenSSL.config.txt

  • DhsWebTools.dll

  • DhsWebTools.dhop

  • DhsCanonicalizationXml.dll

  • DhsCanonicalizationXml.dhop

Attention : Quel que soit le mode de fonctionnement (Client/serveur ou non), ces fichiers doivent être présents localement sur le poste client qui utilise Ebics.
L'utilisation d'Ebics nécessite un accès à Internet. Chaque poste depuis lequel on va utiliser EBICS doit pouvoir accéder à Internet. Ebics nécessite le paramétrage d'un chemin vers le répertoire ou seront stockés les certificats et clés privées du client, les certificats de la banque, des fichiers de log, etc…
Ce dernier se paramètre dans la fiche dossier « Règlement », groupe « EBICS / SEPA », champ « Répertoires certificats »

Paramètres Généraux Ebics TS.

La mise en œuvre d'Ebics TS nécessite le paramétrage de plusieurs éléments :

  • des chemins (1) :

  • répertoire des certificats,

  • répertoire des templates de la DLL aoEbicsLib.dll,

  • répertoire des fichiers temporaires de la DLL aoEbicsLib.dll,

  • des paramètres de serveur proxy (2) :

  • adresse du serveur proxy,

  • port du serveur proxy,

  • login et mode de passe d'authentification, le cas échéant.

Ces paramètres devront être saisis dans la table Paramètres généraux (Etebac / Ebics - Tables).
Divalto préconise que le répertoire auquel se rapporte le chemin EBICS_CERTIFICATS soit un sous-répertoire du répertoire Divalto, nommé « Ebics ».
Attention : Si EBICS T était auparavant paramétré sur la même machine, le chemin EBICS_CERTIFICATS était paramétré dans le dossier de Divalto Règlements.
On accède au paramétrage par l'option de menu : Règlements / Etebac / Ebics / Tables / Paramètres généraux
La mise en œuvre d'Ebics TS nécessite un runtime 7.5a,
Elle nécessite également que les fichiers/programmes suivants soient présents dans le répertoire \divalto\sys\ :

  • DhEbicsLink.dll (installée par le runtime),

  • aoEbicsLib.dll (installée par le runtime),

  • les DLLs OpenSSL pour la création des certificats auto-signés :

    • DhOpenSSL.dll,

    • DhOpenSSL.dhop,

    • DhOpenSSL.certif.pem,

    • DhOpenSSL.config.txt.

Paramétrage banque pour les liaisons bancaires

On accède au zooms par l'option de menu : Règlement / Fichiers / Banque / Banques

Méthode de transmission bancaire

Vous indiquez la méthode de transmission utilisée pour communiquer avec votre banque.
Dans le cas d'une transmission par le protocole Ebics, le statut de la connexion est précisé afin de faciliter le suivi de l'établissement d'une connexion Ebics.
De plus, l'accès en modification à certaines zones du paramétrage Ebics est interdit selon le statut de la connexion.

ETEBAC

Identité Transpac : Numéro d'accès au serveur de la banque (cette information est fournie par la banque).
Identité client et le mot de passe : apparaissent ici à titre informatif. Il est préférable d'utiliser les cartes paramètres. Pour communiquer avec l'ordinateur de la banque il est nécessaire de paramétrer le mode de communication.
Jeu de caractères : Indiquez le jeu de caractères utilisé par votre banque. Votre ordinateur travaille toujours en Ascii. Lorsque celui de la banque utilise le jeu Ebcdic, le programme assure la conversion automatique.
Nombre de bits : Vous indiquez si le dialogue entre votre ordinateur et celui de la banque est codé sur 7 bits ou sur 8 bits. Ce paramètre sélectionne une des 2 unités logiques modem indiquées sur la fiche Paramètres Généraux.
Séparateur de paquets : CR s'il faut faire suivre chaque enregistrement émis par le caractère 0D.Délai s'il faut temporiser après chaque enregistrement émis.
Délai entre les paquets : Indiquez le nombre de 10èmes de seconde d'attente à respecter entre chaque enregistrement émis.
Ce paramètre n'est pris en compte que si vous avez répondu "Délai" à la question précédente.
Il est préférable de toujours renseigner un délai entre les paquets (en général 8ms).

EBICS

Version du protocole Ebics.
La version du protocole est composée de 3 informations :

  • Un numéro de version, exemple 02.40 pour la version 2.4,

  • Un code identifiant sur 4 caractères, exemple : H003,

  • Un indice de révision, exemple 1 pour une version 2.4.1

A ce jour, en France, seule la version 2.4.1 est opérationnelle, son code est H003.
Les paramètres Ebics (User ID, Partner ID, Host ID, etc…) vous seront communiqués par la banque au moment de l'établissement du contrat de télétransmission.
Il est à noter que ces informations ne seront plus modifiables une fois la connexion Ebics initialisée. La modification de ces paramètres ne peut se faire qu'à l'initiative de la banque ou par le programme de révocation de la connexion.
Si Ebics TS, certains champs sont pré-renseignés (Version, Protocole, Révision, etc…). Il est fortement recommandé de conserver les valeurs indiquées par Divalto Règlements, sauf évolution de la norme Ebics TS.
De plus, toutes les étapes pourront être tracées dans un fichier paramétré dans le code chemin trace que l'on indiquera dans le groupe « Options », champ « Code chemin trace »

Clés et Certificats Client

Les échanges de flux avec les serveurs des banques françaises, tels que définis par le CFONB, sont basés sur l'utilisation de certificats électroniques X509 permettant de garantir la sécurité des échanges.
La séparation des usages (Authentification, Chiffrement et Signature/Scellement) est obligatoire : 3 certificats (un pour chacun des usages) sont donc utilisés par le poste client.
Les certificats doivent respecter les contraintes suivantes :

  • les certificats sont des certificats électroniques de type X509, dont le gabarit est détaillé en annexe,

  • chaque certificat devra être stocké dans un fichier en utilisant un codage PEM.

Un certificat contient, entre autres, la partie publique d'une clé de cryptage RSA, la partie privée étant elle-même stockée dans un second fichier. Clé et certificat forment donc une paire indissociable et ce sont les noms de fichiers contenant ces données qui sont à renseigner dans la fiche de la banque.
Il est à noter qu'il est tout à fait possible d'utiliser les mêmes clés et certificats client pour plusieurs banques. C'est pourquoi il est possible de parcourir le répertoire des certificats (par clic droit sur une zone de nom de fichier de clé ou de certificat) pour sélectionner une clé ou un certificat existant.

Clefs et certificats banque

Les certificats banque seront téléchargés dans la phase de l'établissement d'une connexion Ebics. Ils ne sont pas saisissables dans la fiche de la banque mais uniquement affichés à titre d'information.
Une fois téléchargés, tout comme les certificats client, les certificats banque sont stockés dans des fichiers dans le répertoire des certificats défini dans la fiche dossier et encodés en codage PEM. Par abus de langage, nous parlons ici de certificats banque, alors que ce qui est uniquement stockée sont les clés publiques.

Création des clés privées et des certificats client

Divalto Règlements vous permet de créer ces 3 certificats (toujours associés à autant de clés privées). Cette fonctionnalité est accessible soit depuis le menu de l'application Divalto Règlements, soit directement depuis une fiche banque.

Création des clés et certificat depuis le menu

L'accès se trouve dans le sous-menu Règlement / Etebac - Ebics / Utilitaires / Ebics – Gestion des connexions ».

Dans le cadre « Clés et certificats client », vous indiquer les noms des fichiers qui vont contenir les clés privées et les certificats qui vont être créés.
Les fichiers créés seront automatiquement déposés dans le répertoire paramétré dans le dossier.
Vous pouvez ne pas indiquer de nom de fichier, dans ce cas, Divalto Règlements attribuera automatiquement des noms aux fichiers créés. La règle de composition du nom de fichier appliquée est la suivante :
Filename égal Dossier + « Ebics » + version du certificat + extension « .pem » ou « .key » (selon s'il s'agit d'un certificat ou d'une clé privée)
Exemple : 998_ebics_a005.pem pour le certificat de signature/scellement du dossier 998
Vous avez la possibilité de créer les 3 « paires » (clé + certificat) ou seulement la paire clé/certificat d'authentification, par exemple, par le biais des 3 cases à cocher « créer ».
Dans le cadre « Informations relatives aux certificats », il vous faudra saisir des informations concernant votre entreprise qui seront insérées dans le certificat.
Certaines de ces informations sont directement reprises de la fiche Dossier (code pays, ville et raison sociale).
Attention : La saisie de l'ensemble de ces informations est obligatoire.

Création des clés et certificat depuis la fiche banque

Il est également possible de créer des clés et des certificats directement depuis la fiche banque, par le menu « Ebics »
Par rapport à la création des clés et certificats par le menu, le fonctionnement diffère légèrement, dans la mesure où les noms de fichiers seront repris de la fiche banque et ceux-ci apparaîtront grisés dans le programme de création des clés et certificats.
Une autre différence se situe dans le fait que le programme va automatiquement créer les 3 paires clé/certificat, même si vous n'avez renseigné les noms de fichier que de l'une ou l'autre des paires. Divalto Règlements attribuera automatiquement un nom de fichier pour la(les) clé(s) et le(s) certificat(s) sans indication de nom.

Par le menu contextuel d'une zone clé/certificat

Ce mode se différencie des autres façons de créer des clés et des certificats par le fait qu'il ne crée QUE la paire clé/certificat sur laquelle on a cliqué.
Par exemple, si l'appel au menu contextuel (clique droit) a lieu sur la zone « certificat de signature », le programme de création des clés et certificats ne générera que la paire de signature.

Changement de clé et certificat EBICS

On accède au traitement via l'option de menu : Règlement / Etebac – EBICS / Utilitaires / Ebics – Gestion des connexions / Modifier les clés et certificats clients.

Renseigner la banque et le signataire.

cocher les options :

  • Certificats du signataire

  • Certificat de signature uniquement ‘PUB’

Puis valider.

Une fenêtre s’ouvre, vous demandant de mettre à jour la clé.

Paramétrage du compte pour les liaisons bancaires

On accède au zoom des comptes de banque par l'option de menu : Règlement / Fichiers / Banque / Compte de banque

Le fichier COMPTES répertorie les comptes bancaires. Un compte bancaire est rattaché à un dossier comptable.
Le code journal identifie un compte bancaire dans un dossier.
Attention : Si Divalto Comptabilité est installé, le journal doit y être défini.

Les informations de la fiche compte permettent d'associer un extrait ou un relevé à un compte bancaire.
Remarque : Cette association est réalisée grâce au R.I.B.

Constantes Ebics

Il s'agit de zone de flux xml dont la valeur peut être modifiée :

  • pour toute les transactions

  • pour toutes les transactions d'une banque

  • pour toutes les transactions d'un compte

Le code de la constante est une liste finie de variables. La constante la plus utilisée est FILEFORMAT qui permet de remplacer un code par un autre pour certaines opérations.
Par exemple les virements de trésorerie (code 76 en pied de virement) qui sont différenciés dans certaines banques.
On accède au traitement via l'option de menu : Règlement / ETEBAC - EBICS / Tables / Constantes EBICS