ediverse Explorer la plateforme

À la une PEPPOL BIS Billing 3.0 L’obligation européenne d’e-invoicing arrive : France sept 2026, Belgique janv 2026, Allemagne 2025.

Décodeur OFTP2

Décodez une trace OFTP2 (RFC 5024) frame par frame, 100 % côté client. SSID, SFID, DATA, EFID, ESID, codelists NERP, support ASCII et base64. Le protocole EDI dominant de l'automobile.

Collez une trace OFTP2 (SSID en première frame) pour la décoder.

Comment ça marche

OFTP2 (Odette File Transfer Protocol 2.0, défini par la RFC 5024) est le protocole de transport EDI dominant dans l'industrie automobile européenne : il transporte les flux ORDERS, DELFOR, DELJIT, DESADV, INVOIC, REMADV et les fichiers de CAO (STEP-AP242) entre constructeurs et équipementiers via ENX, Odette et Galia.

Bien que la couche transport soit binaire et chiffrée (TLS 1.2/1.3), chaque commande du protocole est une trame ASCII à champs de position fixe. Le décodeur lit l'enveloppe sans tenter de reconstituer le payload chiffré : il dresse un état précis de la négociation (SSID/SSRM), des fichiers transférés (SFID/DATA/EFID), des acquittements (EFPA/EFNA/NERP), puis de la clôture (ESID).

Structure d'une session OFTP2

Le scénario nominal (RFC 5024 §6.1) :

Initiator                Responder
   │  SSID (Start Session)  ─►   │
   │ ◄─ SSRM (Ready)             │
   │  SFID (Start File)     ─►   │
   │ ◄─ SFPA (Positive Ack)      │
   │  DATA × N              ─►   │
   │  EFID (End File)       ─►   │
   │ ◄─ EFPA (Positive End)      │
   │  ESID (End Session)    ─►   │
   │ ◄─ ESID                     │

Le décodeur tolère plusieurs variantes : SSRM omis, EFPA arrivant avant le passage à un fichier suivant, transferts bidirectionnels (commande CD pour Change Direction), et envois avec restart position (reprise après coupure réseau).

Commandes du protocole

  • SSID — Start Session. Échange des identifiants ODETTE-SFID, niveau de protocole (5 pour 2.0, 6 pour 2.1), authentification, taille de buffer.
  • SSRM — Start Session Ready. Acquittement applicatif de session prête.
  • SFID — Start File. Métadonnées du dataset : virtual filename, format (V/F/T/U), maxRecordSize, fileSize, restartPosition, cipherSuiteSelection, securityLevel.
  • SFPA / SFNA — acceptation ou refus du fichier proposé.
  • DATA — Data Exchange Buffer. Une trame par segment du payload chiffré.
  • EFID — End File. Compte de records et d'octets transmis.
  • EFPA / EFNA — accusé de fin positif / négatif.
  • NERP — Negative End Response. Rejet applicatif post-transfert (RFC 5024 §5.10).
  • ESID — End Session. Clôture avec code de raison.

Codes NERP & ESID

Les NERP et ESID portent un code à 2 chiffres. Les valeurs les plus fréquentes en production :

  • 00 — terminaison normale.
  • 01 — commande inconnue.
  • 02 — violation du protocole (séquence incorrecte).
  • 03 — utilisateur ou mot de passe invalide.
  • 04 — mode incompatible (paramètres de session refusés).
  • 06 — restart position invalide.
  • 08 — espace de stockage insuffisant.
  • 10 — algorithme de chiffrement non supporté.
  • 20 — rejet applicatif côté récepteur.
  • 21 — fichier corrompu (checksum invalide).

Sécurité — TLS, signature, chiffrement

OFTP2 (le 2 est important) impose TLS 1.2 minimum sur la liaison TCP (port 6619 par défaut). Au-dessus, le SFID peut négocier une couche applicative additionnelle :

  • SFIDCIPH = 00 : aucune surcouche, TLS seul.
  • SFIDCIPH = 01 : 3DES-CBC + RSA — déprécié. Le décodeur lève W_INSECURE_CIPHER.
  • SFIDCIPH = 02 : AES-256-CBC + RSA — recommandé.
  • SFIDSEC = 03 : fichier signé et chiffré (defense-in-depth attendu en automotive sensible).

Limites

  • Le décodeur ne reconstruit pas le payload chiffré : il compte les chunks DATA et leur taille brute, mais ne déchiffre pas (le matériel cryptographique n'est pas dans la trace).
  • Le handshake TLS sous-jacent n'est pas inspecté — il vit en dessous de la couche commande.
  • La validation X.509 des certificats utilisés pour la signature de bout en bout (EERP signé) n'est pas effectuée.
  • Le décodeur tolère deux encodages d'entrée (ASCII brut ou base64) ; les autres formats binaires propriétaires (Mendelson trace, etc.) ne sont pas convertis automatiquement.

Confidentialité

Documentation associée

  • RFC 5024 — ODETTE File Transfer Protocol 2.0 : rfc-editor.org — RFC 5024.
  • Odette — l'organisation qui maintient OFTP : odette.org.
  • ENX Association — réseau privé européen utilisé par la plupart des transferts OFTP2 automotive : enx.com.

Dernière mise à jour: 19 mai 2026